我一直在研究带有锯齿形边框的页眉。一种方法是使用图像来制作之字形效果。
(1) 有没有办法在不使用图像的情况下在 CSS 中创建实用的跨浏览器之字形边框?
我还试图在延伸到之字形的标题上放置带纹理的背景。但是,标题的垂直大小可能会改变,我无法将标题实现为单个图像。
如果我尝试向之字形边缘和标题元素添加纹理,很可能纹理将不同步。
(2) 关于实现延伸到之字形而不不同步的纹理背景有什么想法吗?
我的 [旧] 代码(连同纹理)在 jsFiddle 上。
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:
谢谢安娜的代码。我接受并改进了它。
http://dabblet.com/gist/3401493
我不认为一致的背景是可能的。
原文由 ambiguousmouse 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您打算使用
border-image
,那么它不是跨浏览器解决方案,因为 IE 不支持它。此外,尽管除 IE9 之外的每个当前浏览器版本都支持 CSS 渐变(这将允许您获得 锯齿形图案)和
border-image
,但我上次检查时(这是几个月前的事了,所以最好再测试一次),使用渐变border-image
只在 WebKit 中有效。另外,我认为即使在 WebKit 中也不能使用多个渐变(因为您只能设置一个边框图像,一个渐变是一个图像)并且您需要两个渐变来实现之字形图案。CSS之字形图案的代码是:
如果你想要下面的纹理与这个同步,那么你必须确保它以相同的间隔重复(
40px
,但你也可以选择20px
) .编辑:关于 polyfill,您可以尝试 此处 列出的其中一种: CSS3 PIE 或 cssSandpaper