是这样的,我定义了一个搜索框search,左侧是input输入框,右侧是搜索按钮button,然后搜索框宽度和input输入框宽度都是按照网页大小测量做的,我的思路就是搜索框的宽度减去输入款的宽度就是搜索按钮的宽度,但是发现用这个宽度就有一个问题,就是太大了,装不下。我看视频讲解的是去测量了网页的真实宽度,然后用这个宽度作为搜索框的宽度,发现这个宽度与盒子是刚好的,我就觉得很奇怪,为什么啊?有谁知道的可以解答一下我的疑惑吗,感谢,好人一生平安!
<!-- 3.搜索框部分 -->
<div class="search">
<input type="text" value="输入关键词">
<button></button>
</div>
/* 3.搜索框部分 */
.search {
float: left;
width: 412px;
height: 42px;
margin-left: 60px;
}
.search input {
display: block;
float: left;
width: 342px;
height: 40px;
font-size: 14px;
border: 1px solid #00a4ff;
border-right: 0;
color: #bfbfbf;
/* 注意:因为.search设置了宽度,加了padding会撑大盒子
所以width要减去18 */
padding-left: 18px;
}
/* 行内块元素之间默认是有缝隙的,加了浮动不会有缝隙 */
.search button {
float: left;
background-image: url(images/btn.png);
/* 注意:此处没有用search-input的宽度 */
width: 50px;
height: 42px;
/* 注意:按钮有默认边框,要去掉 */
border: 0px;
}
里面的东西用box-sizing: border-box;会简单
不知道你这个问题是否已经解决, 如果还没有解决的话:问题的根本原因是按钮的宽度设置不正确。通过代码可以看出,搜索框容器的宽度是固定的,而输入框的宽度也是固定的,并且设置了特定的样式。但是按钮的宽度没有根据实际情况进行计算,导致宽度过大超出了搜索框的边界。
要解决这个问题,可以使用CSS中的"calc"函数来动态计算按钮的宽度。具体步骤如下:
.search {
width: 412px;
/* 其他样式... */
}
.search button {
width: calc(412px - 342px);
/* 其他样式... */
}
.search button {
width: calc(412px - 342px);
height: 40px;
background-image: url(images/btn.png);
/* 其他样式... */
}
这样就可以使得搜索按钮的宽度与搜索框一致,并且不会超出搜索框的边界。完成解决该问题。
你的input有border-left占用了1px的宽度呀