CSS锯齿形边框和带纹理的背景
我一直在研究带有锯齿形边框的标头。一种方法是使用图像制作锯齿形效果。
我还试图在此标头上放置带纹理的背景,该背景延伸到之字形。但是,标头的垂直大小可能会发生变化,并且我无法将标头实现为单个图像。
如果我尝试向曲折边缘和标头元素添加纹理,则很有可能纹理将不同步。
我的[旧]代码(以及纹理)在。
body { padding: 20px;
}
header {
width: 240px;
background-color: #BCED91;
}
header:after {
content: " ";
display: block;
position: relative;
width: 240px;
bottom: -15px;
height: 15px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAPCAYAAACWV43jAAAAw0lEQVRIx83RsQ3CMBCF4T83AZKLVOmyBa1HSIlXwKySGaDOBClZAToWQIpETQONyxAS+2J4pe9knd5X9EP7QicPYAsUwBnYaHwqSsd1QGmNv1rjL0AZ3pJTKDTorPGnsUE/tDvg+KsG70D96TiAMKvDbtYDO6Cyxt++LYadKpY8hthNtTaVGHLRJJ3R5mJy0SbVJp9D7FJaSyWXNUk1yGVt0lTyMWK3ZmtLySUnaQy55CZdSi7AHmis8U/+JOGWBji8AaYPVy6VELZvAAAAAElFTkSuQmCC) repeat-x;
}
img {
margin-top: 50px;
}
<header>
<br />
<br />
<br />
<br />
</header>
<img src="http://i.imgur.com/qKsVr.png" />
编辑#1:
感谢Ana提供的代码。我接受并改进了它。
我认为不可能有一个一致的背景。
回答:
如果要使用border-image
,那么它不是跨浏览器的解决方案,因为IE不支持它。
另外,即使当前的所有浏览器版本(除IE9之外)都支持CSS渐变(这将允许您获得 )和border-
image,上次我检查(这是几个月前,所以最好再次进行测试),渐变border-
image仅适用于WebKit。另外,我不认为即使在WebKit中,它也可以用于多个渐变(因为您只能设置一个边框图像,而一个渐变就是一幅图像),并且曲折图案需要两个渐变。
CSS之字形模式的代码为:
background: linear-gradient(#BCED91 49%, transparent 49%), linear-gradient(-45deg, white 33%, transparent 33%) 0 50%,
white linear-gradient(45deg, white 33%, #BCED91 33%) 0 50%;
background-repeat: repeat-x;
background-size: 1px 100%, 40px 40px, 40px 40px;
如果您想要一个与此下方同步的纹理,则必须确保它以相同的间隔重复(40px
,但您也可以使用20px
)。
以上是 CSS锯齿形边框和带纹理的背景 的全部内容, 来源链接: utcz.com/qa/401534.html