Интересное применение каскадных таблиц css и html
В данной статье приводятся малоизвестные или малоиспользуемые приемы применения html и css, приводящие к интересным эффектам. Данная страничка постоянно обновляется и в нее добавляются разные эффекты, которые можно использовать при строительстве вашего сайта.
Примечание
Если в каких либо браузерах не будут работать эти приемы, попробуйте изменить кодировку браузера.
- Как сделать простое горизонтальное меню с субменю средствами css?
- Как можно реализовать ситуацию, чтобы показывалась картинка при наведении курсора на какой-либо текст?
- Что нужно сделать, чтобы строка, слово или часть текста мигала?
- Как увеличить расстояние от края окна до списка и от маркера до текста?
- Что нужно сделать, чтобы изменить маркер в маркированных списках?
- Как подписать картинку?
- Как нарисовать рамку вокруг ссылки при наведении на нее курсора?
- Как нарисовать рамку вокруг текста?
- Как выделить слово или часть предложения инверсным цветом?
- Как в тексте html написать формулу?
В. Как сделать простое горизонтальное меню с субменю средствами css?
О.При создании сайта всегда используется меню. Существует множество способов и методов создания этого самого меню. Ниже предлагается один из вариантов создания меню с выпадающим списком (субменю), используя средства css.
Для начала напишем правила css:
* { /*Сброс настроек*/
border: 0;
padding: 0;
margin: 0;
}
#menu { /*Свойства меню*/
float: left; /*Обтекание текста*/
width: 500px; /*Ширина меню*/
list-style: none; /*Без отображения маркера списка*/
position: relative; /*Относительное позиционирование*/
}
#menu li { /*Свойство списка меню*/
float: left; /*Обтекание текста*/
border-right: 1px solid #999; /*Правая вертикальная черта*/
}
#menu li a { /*Свойство ссылок списка*/
padding: 10px 15px; /*Внутренние отступы сверху и снизу,
слева и справа*/
display: block; /*Делаем ссылки блочными*/
color: #000; /*Цвет ссылок*/
text-decoration: none; /*Без подчеркивания*/
}
#menu li a:hover { /*Свойство ссылок под курсором*/
color: #fff; /*Цвет ссылок*/
text-decoration: none; /*Без подчеркивания*/
}
#menu li:hover { /*Свойство списка под курсором*/
background: #999; /*Фон списка*/
}
#menu li span { /*Свойство субменю*/
float: left; /*Обтекание текста*/
padding: 15px 0; /*Внутренние отступы сверху и снизу,
слева и справа*/
position: absolute; /*Абсолютное позиционирование*/
left: 0; /*Позиция слева*/
top:35px; /*Позиция сверху*/
display: none; /*Невидимое субменю*/
width: 500px; /*Ширина субменю*/
background: #999; /*Фон субменю*/
color: #fff; /*Цвет ссылок*/
}
#menu li:hover span { /*Свойство субменю под курсором*/
display: block; /*Делаем ссылки блочными*/
}
#menu li span a { /*Свойство ссылок субменю*/
display: inline; /*Встроенные в текст ссылки*/
}
Теперь напишем код html:
<ul id="menu"> <!--Список меню--> <li><a href="#">Раздел 1</a></li> <!--1 пункт меню--> <li> <!--Конец раздела--> <a href="#">Раздел 2</a> <!--2 пункт меню--> <span> <!--Субменю 2 раздела--> <a href="#">Подраздел 1</a> | <!--1 пункт субменю--> <a href="#">Подраздел 2</a> | <!--2 пункт субменю--> <a href="#">Подраздел 3</a> <!--3 пункт субменю--> </span> <!--Конец субменю 2 раздела--> </li> <!--Конец раздела--> <li><a href="#">Раздел 3</a></li> <span> <!--Субменю 3 раздела--> <a href="#">Подраздел 1</a> | <a href="#">Подраздел 2</a> </span> </ul> <!Конец списка меню-->
У Вас должно получится так:
В. Как можно реализовать ситуацию, чтобы показывалась картинка при наведении курсора на какой-либо текст?
О. Вообще-то этот эффект называется rollover. Реализуется при помощи скрипта JavaScript. Но с некоторыми потерями, данный эффект можно реализовать при помощи каскадных таблиц. Создаем ссылку, например, на ту же страницу, где будет нужный Вам текст и включаем в нее картинку, заключенную в тэг <span>. Выглядеть это будет следующим образом:
<a href="index.html"><span><img src="../../image/baner1.gif" border=1 alt="Мой баннер"></span>
Ваш текст</a>.Теперь на эту ссылку пишем такие стили:
a { display: inline; }
a span { display: none; }
a:hover span {
display: inline;
position: absolute;
left: 400px }
a:hover {
color: #F90;
border: 0px; }
Картинка, заключенная в тэг <span>, на странице не показывается, а при наведении курсора на ссылку, выводится ваша картинка. Работает в браузерах Netscape 6, MSIE 6, Opera 8 и выше. К сожалению, данная редакция css в Mozilla Firefox версии ниже 4.0 НЕ работает.
Второй вариант более сложный, но зато картинка выводиться рядом с сылкой и что главнее - работает в Mozilla Firefox.
a.screen, a.screen:visited {
color:#c00;
position:relative;
z-index:1;
}
a.screen b {
position:absolute;
visibility:hidden;
width:200px;
height:0;
left:0;
top:-150px;
}
a.screen:hover {
text-decoration:none;
border:0;
z-index:1000;
}
a.screen:hover b {
visibility:visible;
height:150px;
cursor:pointer;
z-index:500;
}
a.screen:hover b img {
border:0;
}
Далее вставляем код:
<a class="screen" href="#">Ваш текст<b><img src="../../image/baner1.gif" border=1 alt="Мой баннер"></b></a>
Это баннер моего cайта

В. Что нужно сделать, чтобы строка, слово или часть текста мигала?
О. Если Вам необходимо, чтобы какой-либо текст мигал, необходимо заключить нужный Вам текст в парный тэг <blink>. Для этого пишем следующую строку:
<p>Из плотной массы толпы Вы хотите выделить <b><blink>себя</blink></b>, любимого</p>
Должно получится так:
Из плотной массы толпы Вы хотите выделить , любимого.
A если Вы хотите выделить слово еще и цветом, например, красным - добавьте к этому слову <font color="red">
В IE, к сожалению, тэг <blink> не работает.
В. Как увеличить расстояние от края окна до списка и от маркера до текста?
О. Иногда, при использовании списков, возникает необходимость отодвинуть список от края окна и текст от маркеров. Делается это простым способом:
li {
margin-left: 10px; /* Отступ списка от левого края */
padding-left: 20px; /* Отступ от маркера до текста */
}
Это должно выглядеть так:
- Маша
- Даша
- Наташа
В. Что нужно сделать, чтобы изменить маркер в маркированных списках?
О. Маркированные списки снабжаются тремя видами маркеров - точка (disk), квадрат (square) или кружок (circle). Чтобы вообще убрать маркеры, нужно задать стилю list-style-type параметр none. В качестве пользовательского маркера может служить любой символ или специальная картинка. Добавляется маркер с помощью свойства content через псевдоэлемент before.
Вставка символа:
li {
list-style-type: none; /* Убираем маркеры у списка */
}
li:before {
content: "+ "; /* Добавляем в качестве маркера символ плюс */
}
Далее в html коде в нужном месте вставляем код списка:
<ul>
<li>Маша</li>
<li>Даша</li>
<li>Наташа</li>
</ul>
У нас должно получиться так:
+ Маша
+ Даша
+ Наташа
Псевдоэлемент before не работает в браузере Internet Explorer до 7-ой версии включительно, поэтому пользовательские маркеры в нем отображаться не будут.
Таким образом можно вставить любой символ из таблицы формата ЮНИКОД. В Microsoft World выберите Вставка > Символ > Другие символы, чтобы открыть окно символов, где можно выбрать код нужного символа. Выделите нужный Вам символ, снизу в окошке Код знака скопируйте код выделенного символа и вставьте его в свойство content через обратный слэш. К примеру Вы хотите использовать правую стрелку. Тогда в свойство content записывете следующее:
content: "\2192";
Далее. Если Вы хотите вставить вместо стандартного маркера свою картинку, то необходимо в свойстве content указать к ней путь. Например так:
content: url(bg_01400.jpg); где bg_01400.jpg - путь к вашей картинке.
В. Как подписать картинку?
О. Иногда возникает необходимость сделать подпись к фото или любой другой картнке для улучшения ее информативности. Для этого воспользуемся следующим способом:
Для начала создадим стили
.podp {
float: right; /* или left - Выравнивание по правому или левому краю */
border: 1px solid #333; /* Параметры рамки */
padding: 7px; /* Поля внутри блока */
margin: 10px 0 5px 5px; /* Отступы вокруг */
background: #f0f0f0; /* Цвет фона */
text-align: center; /* Выравнивание по центру */
}
.podp p {
margin: 0 auto 5px; /* Отступы вокруг абзаца */
text-align: center; /* Выравнивание по центру */
}
Между тэгами body вставляем следующий код:
<div class="podp"><img src="Путь к вашей картинке" width="150" height="150" alt=" " />
<p>Ваша подпись к картинке</p>
</div>
У вас должно получится примерно так:
Вот такой он Я
В. Как нарисовать рамку вокруг ссылки при наведении на нее курсора?
О. Чтобы выделить ссылку рамкой при наведении на нее курсора, пишем следующие стили для ссылок:
a {
text-decoration: none; /* Убираем подчеркивание у ссылок */
padding: 2px /* Поле вокруг ссылки */
}
a:hover {
border: 1px solid red; /* Красная рамка вокруг ссылки */
padding: 1px /* Изменяем величину поля вокруг ссылки */
}
Между тэгами body вставляем следующий код:
<p><a href=link1.html>Ссылка 1</a><p><a href=link2.html>Ссылка 2</a>
<p><a href=link3.html>Ссылка 3</a>
Получается вот такая красота:
В. Как нарисовать рамку вокруг текста?
О. Иногда, для подчеркивания важности, необходимо выделить текст рамкой или залить фоном. На следующем примере покажем как сделать и то и другое вместе. Создадим класс рамки и фона:
.ramka {
border: double 4px black; /* Двойная рамка */
background: #fc0; /* Цвет фона под текстом */
padding: 5px /* Поля вокруг текста */
}
В нужном месте вставляем следующий код:
<p class="ramka">Здесь располагается ваш текст, который вам нужно выделить. </p>У вас должно получиться так:
Посетите сайт Новичок для новичков, созданный для изучения html и css. Здесь Вы научитесь строить свои собственные сайты.
Типы рамок:
solid - одинарная линия
double - двойная линия
dotted - точечная линия
dashed - пунктирная линия
В. Как выделить слово или часть предложения инверсным цветом?
О. Для того, чтобы выделить текст инверсным цветом, создаем следующие стили:
.inverse {
font-family: Arial; /* Шрифт Arial */
font-weight: bold; /* Жирное начертание */
background: gold; /* Золотистый фон */
color: blue; /* Символы синего цвета */
padding: 3px /* Поля между текстом и границей */
}
В нужном месте вставляем следующий код:
<span class=inverse>Ваш выделяемый текст</span>
Выглядеть все это будет следующим образом:
Для рассылок своих писем используйте сервис Smartresponder.ru совершенно бесплатно.
В данном случае используется инверсия синего и золотистого цветов, но вы можете задать в стилях любой цвет.
В. Как в тексте html написать формулу?
О. Иногда бывает ситуация, когда в текст необходимо вставить какую-либо формулу или установить сноску. Для этих целей применяются тэги <sup> и <sub>, которые переводят символы в верхний или нижний индекс. Для этого создадим стилевые классы:
.math {
font-style: italic; /* Наклонный стиль */
font-size: 150% /* Размер шрифта */
font-family: Times New Roman, Arial, Verdana; /* Шрифт */
text-align: center; /* Центрируем */
}
.sup {
vertical-align: 0.8em; /* Сдвигаем текст вверх */
color: red; /* Красный цвет верхнего индекса */
font-size: 70% /* Уменьшаем размер шрифта */
}
.sub {
vertical-align: -0.8em; /* Сдвигаем текст вниз */
color: blue; /* Синий цвет нижнего индекса */
font-size: 70%
}
В нужном месте создаем формулу с применением тэгов <sup> и <sub>.
<p class=math>f(x) = a<span class=sub>0</span> + a<span class=sub>1</span> x + ... + a<span class=sub>n-1</span> x<span class=sup>n-1</span> + a<span class=sub>n</span> x<span class=sup>n</span></p>
В итоге мы получаем вот такую красивую формулку многочлена стпени n:
f(x) = a0 + a1 x + ... + an-1 xn-1 + an xn
