Я хочу сделать div следующим образом:
прилагается http://oi62.tinypic.com/334t93o.jpg
можно ли сделать это с помощью css? если да, то как?
Я бы использовал :after
элемент psuedo был абсолютно позиционирован и использовал необоснованный CSS-треугольник.
.date {
background-color: #006;
color: #fff;
width: 200px;
position: relative;
text-align: center;
padding: 20px 0;
}
.date:after {
content: '';
position: absolute;
bottom: -10px;
left: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 10px 10px 0 0;
border-color: #006 transparent transparent transparent
}
Да.
Используйте a ::after
psuedo-element, поместите его с absolute
и переместите его в нужное положение. Затем используйте типичные приграничные трюки, чтобы сделать треугольник - в этом случае вам понадобятся левая и верхняя границы.
Пойдите и попробуйте, тогда, если у вас все еще возникают проблемы, возвращайтесь с некоторым кодом;)
Это может сделать трюк :)
<div class="hide">
<div class="arrow-down"></div>
</div>
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
margin-left:-20px;
border-top: 20px solid #f00;
}
.hide{
overflow:hidden;
}
Я просто хочу, чтобы добавить этот ответ для справки, вы даже не нужен какой - либо псевдо-элемент, как :after
того, однако это будет сделать трудно центрировать текст, и вы можете использовать некоторые изображения или градиент для фона (который может" t пойти с этим решением):
div {
color:white;
font-size:30px;
width:200px;
height:100px;
line-height:100px;
background:blue;
background-clip:content-box;
border-left:20px solid blue;
border-bottom:20px solid transparent;
text-align:center;
}
:after
).