HTML
<div class="search">
<input type="text" value="search..." />
<input type="image" value="Q" />
</div>
CSS
.search{
width: 400px;
background-color: gray;
border-radius: 12px;
padding: 20px;
}
.search input:first-child{
width: 300px;
}
.search input:nth-child(2){
width: 50px;
height: 20px;
overflow: hidden;
background-color: #fff;
float: right;
text-align: center;
}
.search:after{
content: " ";
border-right: 4px solid red;
margin-left: 20px;
}
我无法在输入标记中插入:after
元素,因为它没有工作,因为它没有结束标记。所以我在主要的.search
中管理了这个。边框正好显示,但我想要这样
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要使用至少一个额外的div。像这样:
<div class="search">
<div class="search-text">
<input type="text" value="search..." />
</div>
<div class="search-image">
<input type="image" value="Q" />
</div>
</div>
您现在可以将边框应用于search-text
div。
答案 2 :(得分:0)
实际上,您可以使用CSS获得所需的结果
将:after
absolute
位置和负margin-top
等于父级的填充。然后给它父母的高度:
.search:after{
content: " ";
border-right: 4px solid red;
margin-left: 20px;
height: 66px;
position: absolute;
margin-top: -20px;
}
<强> The demo jsFiddle 强>