对于你的问题,我可能有一个解决方案。此解决方案适用于具有 4 种颜色边框的 div。它涉及使用:before 和:after。
CSS
.test { /* this is our div with multiple borders */
position: relative;
width: [some width];
background: [some color, image, ...];
min-height: 4px;
}
现在,您可能已经看到,我们已将位置设置为相对。问题是,这个 div 将作为另一个 div 的父级,该 div 将坚持其父级的底部:
.stickToBottom {
position: absolute;
bottom: 0;
top: 100%;
}
“我们为什么要制作这个 div?”,你可能想知道。好吧,如前所述,我们将使用 :before 和 :after 以获得具有 4 种颜色的边框。没有这个 div 是不可能做到的。
.test:after, .test:before, .stickToBottom:before, .stickToBottom:after {
content: "";
float: right;
height: 4px;
}
.stickToBottom:before, [dir="ltr"] .stickToBottom:after {
float: left;
border-left: 35px solid black;
border-width: 125px;
border-right: 34px solid green;
border-width: 125px;
}
.test:after, [dir="rtl"] .test:before {
border-left: 35px solid yellow;
border-width: 125px;
border-right: 34px solid purple;
border-width: 125px;
}
原因如下:如果我们不包含stickToBottom div,我们会这样说:
.test:before, [dir="ltr"] .test:after {
float: left;
border-left: 35px solid black;
border-width: 125px;
border-right: 34px solid green;
border-width: 125px;
}
.test:after, [dir="rtl"] .test:before {
border-left: 35px solid yellow;
border-width: 125px;
border-right: 34px solid purple;
border-width: 125px;
}
黑色和绿色的边框将位于 div 的顶部,而黄色和紫色的边框将位于 div 的底部,没有办法解决这个问题。通过添加stickToBottom div,我们可以实现您想要的:所有边框都将位于底部。
HTML
<div class="test">
<p>test</p>
<div class="bottom"></div>
</div><!-- /test -->