我正在尝试使用CSS3来使用css3制作这个自定义形状。
shape http://mattieumoreau.com/wp-content/uploads/2014/02/forme.jpg
我想在其上添加文字,红色是我网站的背景(它将是背景图片,所以它必须是透明的。
非常感谢你的帮助
答案 0 :(得分:2)
您可以使用
h1.elaborate{
height:50px;
line-height:50px;
margin:0 50px;/*50 being the width of the arrows x2*/
padding:0 25px;
background:black;
color:white;
position:relative;
box-sizing:border-box;
}
h1.elaborate:before,
h1.elaborate:after{
content:'';
position:absolute;
width:0;
height:0;
border:25px solid black;
border-left-color:transparent;
border-right-color:transparent;
}
h1.elaborate:before{left:-25px;}
h1.elaborate:after{right:-25px;}
并将其用作
<h1 class="elaborate">I am the elaborate title</h1>
http://dabblet.com/gist/9209450
演示(并将鼠标悬停在http://dabblet.com/gist/9209563的标题上以查看其工作原理的解释)
答案 1 :(得分:0)
你走了:
HTML:
<div class="container">
<div class="tl"></div>
<div class="tr"></div>
<div class="br"></div>
<div class="bl"></div>
</div>
CSS:
.container {
width: 60%;
height: 100px;
margin: 0 auto;
position: relative;
background-color: #000;
}
.tl {
top: 0;
left: -25px;
position: absolute;
border-top: 25px solid #000;
border-left: 25px solid transparent;
border-right: 25px solid #000;
border-bottom: 25px solid transparent;
}
.tr {
top: 0;
right: -25px;
position: absolute;
border-top: 25px solid #000;
border-left: 25px solid #000;
border-right: 25px solid transparent;
border-bottom: 25px solid transparent;
}
.br {
bottom: 0;
right: -25px;
position: absolute;
border-top: 25px solid transparent;
border-left: 25px solid #000;
border-right: 25px solid transparent;
border-bottom: 25px solid #000;
}
.bl {
bottom: 0;
left: -25px;
position: absolute;
border-top: 25px solid transparent;
border-left: 25px solid transparent;
border-right: 25px solid #000;
border-bottom: 25px solid #000;
}
以下是演示: FIDDLE
带文字和红色背景的