Вы не представляете какие интересные вещи можно делать на web-странице с помощью CSS свойства border!
Используя свойство border, вы можете не только выделять блочные элементы, но и рисовать множество видов графических примитивов, таких как: ромб, треугольник, трапеция и многое другое.
Большинство современных браузеров (Opera 7+, Mozilla, Firefox) полностью поддерживают спецификацию CSS в отношении свойства border. Но есть и исключения:
Создадим пустой блочный элемент <div class="storage"></div>
и CSS свойства для него:
<style type="text/css"> .storage{ font-size:0; height:0 } </style> <div class="storage"></div>
Свойство font-size:0
задается, потому что Internet Explorer считает, что блочный элемент должен иметь вертикальный размер, соответствующий размеру шрифта по умолчанию, Т. е. 16 px. А свойство height:0
используется для того, чтобы Internet Explorer 5 отобразил пустой блочный элемент.
<style type="text/css"> .storage{ font-size:0; height:0 } .triangle{ border-bottom:50px solid #f90; border-left:50px solid #fff; border-right:50px solid #fff; width:0 } </style> <div class="storage triangle"></div>
<style type="text/css"> .storage{ font-size:0; height:0 } .trapezium{ border-bottom:50px solid #f90; border-left:50px solid #fff; border-right:50px solid #fff; width:40px } </style> <div class="storage trapezium"></div>
Будьте внимательны: Internet Explorer 5 неправильно обрабатывает размеры блочных элементов.
<style type="text/css"> .storage{ font-size:0; height:0 } .rhomb-up{ border-bottom:50px solid #f90; border-left:50px solid #fff; border-right:50px solid #fff; width:0 } .rhomb-down{ border-top:50px solid #f90; border-left:50px solid #fff; border-right:50px solid #fff; width:0 } </style> <div class="storage rhomb-up"></div> <div class="storage rhomb-down"></div>
<style type="text/css"> .storage{ font-size:0; height:0 } .sand-glass{ border-top:50px solid #f90; border-left:50px solid #fff; border-right:50px solid #fff; border-bottom:50px solid #f90; width:0 } </style> <div class="storage sand-glass"></div>
<style type="text/css"> .storage{ font-size:0; height:0 } .abstraction{ border-top:50px groove #f90; border-left:50px groove #f90; border-right:50px groove #f90; border-bottom:50px groove #f90; width:0 } </style> <div class="storage abstraction"></div>
Используя различные комбинации CSS свойства border, можно, во-первых, добиться множества интересных эффектов, а во-вторых, избавиться от части оформительской графики.
Еще бы можно было треугольник сделать в % по высоте — цены бы не было…
23 ноября 2008, 15:27Звезда НАТО:
31 января 2009, 15:18Флаг Великобритании:
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.1//EN» «http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd»>
<html xmlns=»http://www.w3.org/1999/xhtml» >
<head>
<title>UK flag</title>
<meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″ />
<style type=»text/css»>
body{overflow:hidden;}
#wrap{
background-color:#fff;
border:5px solid #eee;
height:400px;
margin:40px;
position:relative;
width:800px;
}
#wrap *{overflow:hidden; position:absolute;}
#tl, #tr, #bl, #br{width:360px; height:160px; border-style:solid; border-color:#be0027;}
#tl *, #tr *, #bl *, #br *{border-width:100px 200px; border-style:solid; height:0;}
/*navy*/
.tn {border-top-color:#00247d;}
.rn {border-right-color:#00247d;}
.bn {border-bottom-color:#00247d;}
.ln {border-left-color:#00247d;}
/*red*/
.tr {border-top-color:#be0027;}
.rr {border-right-color:#be0027;}
.br {border-bottom-color:#be0027;}
.lr {border-left-color:#be0027;}
/*white*/
.tw {border-top-color:#fff;}
.rw {border-right-color:#fff;}
.bw {border-bottom-color:#fff;}
.lw {border-left-color:#fff;}
/*transparent*/
.tt {border-top-color:transparent;}
.rt {border-right-color:transparent;}
.bt {border-bottom-color:transparent;}
.lt {border-left-color:transparent;}
</style>
<!—[if IE 6]>
<style type=»text/css» media=»screen»>
/*for IE*/
.tt {border-top-color:pink; filter: chroma(color=pink);}
.rt {border-right-color:pink; filter: chroma(color=pink);}
.bt {border-bottom-color:pink; filter: chroma(color=pink);}
.lt {border-left-color:pink; filter: chroma(color=pink);}
</style>
<![endif]—>
</head>
<body>
<div id=’wrap’>
<div id=’tl’ style=’border-width:0 40px 40px 0;’>
<div id=’tl-navy’ class=’tn rn bt lt’ style=’top:-75px;left:-65px;’></div>
<div id=’tl-red’ class=’tt rt br lr’ style=’top:-65px;left:-130px;’></div>
<div id=’tl-white’ class=’tt rt bw lw’ style=’top:-65px;left:-190px;’></div>
<div id=’lt-navy’ class=’tt rt bn ln’ style=’top:-65px;left:-215px;’></div>
</div>
<div id=’tr’ style=’right:0;border-width:0 0 40px 40px;’>
<div id=’tr-navy’ class=’tn rt bt ln’ style=’top:-75px;right:-65px;’></div>
<div id=’tr-red’ class=’tt rr br lt’ style=’top:-65px;right:-70px;’></div>
<div id=’tr-white’ class=’tt rw bw lt’ style=’top:-65px;right:-130px;’></div>
<div id=’rt-navy’ class=’tt rn bn lt’ style=’top:-65px;right:-215px;’></div>
</div>
<div id=’bl’ style=’bottom:0;border-width:40px 40px 0 0;’>
<div id=’bl-red’ class=’tr rt bt lr’ style=’bottom:-65px;left:-70px;’></div>
<div id=’bl-white’ class=’tw rt bt lw’ style=’bottom:-65px;left:-130px;’></div>
<div id=’bl-navy’ class=’tt rn bn lt’ style=’bottom:-75px;left:-65px;’></div>
<div id=’lb-navy’ class=’tn rt bt ln’ style=’bottom:-65px;left:-215px;’></div>
</div>
<div id=’br’ style=’right:0;bottom:0;border-width:40px 0 0 40px;’>
6 марта 2009, 1:03<div id=’br-red’ class=’tr rr bt lt’ style=’bottom:-65px;right:-130px;’></div>
<div id=’br-white’ class=’tw rw bt lt’ style=’bottom:-65px;right:-190px;’></div>
<div id=’br-navy’ class=’tt rt bn ln’ style=’bottom:-75px;right:-65px;’></div>
<div id=’rb-navy’ class=’tn rn bt lt’ style=’bottom:-65px;right:-215px;’></div>
</div>
</div>
</body>
</html>
Великолепно!
27 мая 2009, 22:02Линию! Научите делать линию!
22 января 2010, 14:04Не догоняю, почему наклон то образуется, а не ожидаемый прямой угол?
28 января 2011, 12:04