CSS : Вывод треугольника при помощи CSS
Написал MACTEP в 12.06.2011 13:00:00 ( 6209 прочтений )

Вывод треугольника при помощи CSSИнтересной возможностью CSS, при использовании границ, является содание треугольников при помощи CSS без использования картинок. 

 Принцип таков, что четыре CSS границы элемента берут свое начало с центра, когда размер элемента имеет значение 0, четыре границы соприкасаются друг с другом, создавая четыре треугольника.



 Размер треугольника зависит от толщины границы.

Для создания разных углов, необходимо варьировать толщиной границ.

 

Стили:

#triangles{
margin:3em;
width:0;
height:0;
border-color: red blue green yellow; /*Сверху, справа, снизу, слева*/
border-style: solid;
border-width: 50px; /*ширина границы*/ }

Выводим трегольники:
<div id="triangles"></div>

Для отображения только нужного треугольника, вы должны установить цвет границы (border-color) всех сторон, кроме нужной стороны границы в прозрачный.


Следующий пример показывает вывод подсказки с указателем в виде треугольника посредством CSS и DIV

 

Демо:

 

Вывод треугольника сверху посредством CSS
Вывод треугольника снизу посредством CSS
Вывод треугольника слева посредством CSS
Вывод треугольника справа посредством CSS

CSS:

<style type="text/css">

<style>

.uparrowdiv, .downarrowdiv, .leftarrowdiv, .rightarrowdiv{
width:600px;
min-height:40px; /*минимальная высота DIV, не менее две ширины стрелки*/
background: black;
color:white;
padding:5px;
position:relative;
word-wrap:break-word;
-moz-border-radius:5px; /*Огругляем углы при помощи CSS3*/
-webkit-border-radius:5px;
border-radius:5px;
margin-bottom:2em;
}

.uparrowdiv:after{ /*Добавление стрелки к uparrowdiv DIV*/
content:'';
display:block;
position:absolute;
top:-20px; /*должно быть -border-width x 2 */
left:30px;
width:0;
height:0;
border-color: transparent transparent black transparent; /*цвет границы должен быть тем же самым как цвет фона div*/
border-style: solid;
border-width: 10px;

}

.downarrowdiv:after{ /*Добавление стрелки к downarrowdiv DIV*/
content:'';
display:block;
position:absolute;
top:100%; /*Установить 100% */
left:30px;
width:0;
height:0;
border-color: black transparent transparent transparent; /*цвет границы должен быть тем же самым как цвет фона div*/
border-style: solid;
border-width: 10px;
}

.leftarrowdiv:after{ /*Добавление стрелки leftarrowdiv DIV*/
content:'';
display:block;
position:absolute;
top:10px;
left:-20px; /*должно быть -border-width x 2 */
width:0;
height:0;
border-color: transparent black transparent transparent; /*цвет границы должен быть тем же самым как цвет фона div*/
border-style: solid;
border-width: 10px;
}

.rightarrowdiv:after{ /*Добавление стрелки rightarrowdiv DIV*/
content:'';
display:block;
position:absolute;
top:10px;
left:100%; /*Установить 100% */
width:0;
height:0;
border-color: transparent transparent transparent black; /*цвет границы должен быть тем же самым как цвет фона div*/
border-style: solid;
border-width: 10px;
}

</style>

 

HTML:

<div class="uparrowdiv">Вывод треугольника сверху посредством CSS</div>
<div class="downarrowdiv">Вывод треугольника снизу посредством CSS</div>
<div class="leftarrowdiv">Вывод треугольника слева посредством CSS</div>
<div class="rightarrowdiv">Вывод треугольника справа посредством CSS</div>

 


Теги: CSS   Подсказки  
Предыдущая новость Следующая новость
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Кто активен

4 пользователь(ей) активно (1 пользователь(ей) просматривают Web)

Участников: 0
Гостей: 4

далее...

Рекомендуем