使用css制作自定义形状

时间:2014-02-25 13:37:50

标签: css3 background-color shape css-shapes

我正在尝试使用CSS3来使用css3制作这个自定义形状。

shape http://mattieumoreau.com/wp-content/uploads/2014/02/forme.jpg

我想在其上添加文字,红色是我网站的背景(它将是背景图片,所以它必须是透明的。

非常感谢你的帮助

2 个答案:

答案 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

带文字和红色背景的

Example 2