子元素focus,容器边框高亮父选择器效果实例页面
回到相关文章 »代码:
CSS代码(只显示核心部分):
.container {
min-height: 120px;
/* z-index用来创建新的层叠上下文,这样子元素的z-index:-1不会超出容器
具体可参见:http://www.zhangxinxu.com/wordpress/?p=5115
*/
position: relative; z-index: 1;
}
.list {
/* 已经输入的姓名列表 */
display: inline-block; background-color: #f0f3f9;
}
.list:after {
content: '×';
}
.input {
/* 去掉输入框默认UI */
width: 80px; border: 0; background: none;
}
.border {
/* 尺寸永远和容器一样大,假装是容器 */
position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1;
border: 1px solid #bbb;
}
.input:focus + .border {
/* 模拟父选择器效果精髓所在 */
border-color: #1271E0;
}
HTML代码:
<div class="container">
<span class="list">李易峰</span>
<span class="list">赵丽颖</span>
<span class="list">杨紫</span><input id="input" class="input">
<label class="border" for="input"></label>
</div>
效果:
《青云志》主演名单:
李易峰
赵丽颖
杨紫