我正在尝试使用CSS中的边框,但无法弄清楚如何实现以下“四四方方”的外观:
有可能吗?如果是这样,如何实现(不要使用深色背景,因为它是增加对比度)
答案 0 :(得分:3)
可能 - 使用:after
和一些带边框的其他CSS技巧。
示例强> 的
的 CSS 强> 的
body {
background: #000;
}
#box {
height: 150px;
width: 200px;
background: #fff;
margin: 0 auto;
position: relative;
}
#box:after {
display: block;
background: blue;
width: 180px;
height: 0px;
border: 10px #000 solid;
border-top: 15px #eee solid;
content: "";
position: absolute;
bottom: 0px;
}
工作原理?
这里的主要内容是很好地理解浏览器如何淹没border
。看看这个例子:http://jsfiddle.net/n2nsB/。当两个边界相遇时,画布在它们之间分开,是什么让某种三角形淹没在那里。这可能非常有用,因为有两件事:
border-width
可以为所有4个边框单独设置,因此您可以更改分割的角度!查看示例:http://jsfiddle.net/n2nsB/1/ border-color
设置为等于background
,使其不可见!示例:http://jsfiddle.net/n2nsB/2/ 另一方面,您还应该知道:after
伪元素的工作原理。你可以在网上找到很多非常好的教程。我建议开始这个:http://coding.smashingmagazine.com/2011/07/13/learning-to-use-the-before-and-after-pseudo-elements-in-css/
所以只需将所有这些结合起来并得到你想要的东西。