Ila*_*Ila 17 html css css3 pseudo-element
将一个伪元素直接放在另一个伪元素之上的最佳方法是什么?
假设我想在标签旁边出现一个奇特的"复选框":
label:before {
content: "\00a0";
color: #FFF;
height: 6px;
width: 6px;
display: inline-block;
}
label:after {
content: "\00a0";
height: 18px;
width: 18px;
display: inline-block;
background: #ebd196;
background-image: linear-gradient(top, #ebd196 4%, #e2b65d 5%, #ab8844 100%);
}Run Code Online (Sandbox Code Playgroud)
<input id="pretty"><label for="pretty">Label text</label>Run Code Online (Sandbox Code Playgroud)
伪元素的堆叠顺序是什么?是:之前出现在下面或上面:之后 - 哪个更适合作为边框,哪个填充?
什么是适用于标签,贴标签的最佳定位:之前和标签:之后获得正确的定位?
Ben*_*son 24
:before(或::before)被视为其所适用元素的第一个孩子,而:after(或::after)被视为最后一个孩子.因此,:after自然会涵盖:before.
https://developer.mozilla.org/en-US/docs/Web/CSS/::before
https://developer.mozilla.org/en-US/docs/Web/CSS/::after
我想最好的办法,以确保他们排队是使用position: relative;上label,并position: absolute;在与相同的值沿伪元素top,bottom等等.
如果你想使用伪元素制作渐变边框,那么你可以这样做:
label {
position: relative;
display: inline-block;
padding: 0 2px;
margin: 2px;
}
label:before {
content:"";
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: 100%;
height: 100%;
background: white;
}
label:after {
content:"";
position: absolute;
top: -2px;
bottom: -2px;
left: -2px;
right: -2px;
z-index: -2;
background: linear-gradient(to bottom, #1e5799 13%, #efe22f 79%);
}
Run Code Online (Sandbox Code Playgroud)
您可能会发现这很有用:
http://css-tricks.com/examples/GradientBorder/
| 归档时间: |
|
| 查看次数: |
52446 次 |
| 最近记录: |