我很好奇这是如何完成的,我做了类似的事情,例如:
<div class="header-con">
<div class="search-bar-con">
<input type="text" name="search" class="search-bar">
<input type="submit" name="search-submit" class="search-btn">
</div>
<div class="function-con">
<div class="func-btn">Home</div>
<div class="funct-btn">About</div>
</div>
</div>
搜索栏容器和功能容器彼此相对,使用内联块,因此它们不会中断。
.search-bar-con {
position: relative;
left: 0px;
top: -13px;
width: 43%;
height: 80%;
display: inline-block;
margin: 0;
min-width: 105px;
padding: 0;
flex: 1 1 auto;
justify-content: flex-start;
margin-left: 10px;
}
.function-con {
position: relative;
top:10%;
width: auto;
height: 80%;
display: inline-block;
margin: 0;
padding: 0;
}
我的目的是保持函数容器的宽度固定,但搜索容器的动态与页面宽度和函数容器的位置有关。此时,功能容器在没有足够空间的时刻中断,因为搜索栏不会改变宽度以留出空间。我一直在使用媒体查询,但不像上面的GIF那样流畅或简单。
感谢。
答案 0 :(得分:1)
对于这些情况, Flex框是最佳方式。这样,必须填充行的剩余空间的div .function-con
具有属性flex: 1;
.header-con{
display: flex;
}
.search-bar-con {
left: 0px;
top: -13px;
margin: 0;
padding: 0;
justify-content: flex-start;
margin-left: 10px;
}
.function-con {
position: relative;
top: 10%;
width: auto;
height: 80%;
display: inline-block;
margin: 0;
padding: 0;
flex: 1;
display: flex;
padding: 0 20px;
}
&#13;
<div class="header-con">
<div class="search-bar-con">
<input type="text" name="search" class="search-bar">
<input type="submit" name="search-submit" class="search-btn">
</div>
<div class="function-con">
<div class="func-btn">Home</div>
<div class="funct-btn">About</div>
</div>
</div>
&#13;
可能你想要你的菜单并排。如果您不想要,请从display: flex;
删除div.function-con
。
答案 1 :(得分:0)
我认为,如果您将min-width: 105px
中的.search-bar-con
更改为max-width: 105px
来完成工作。 max-width
用于在移动设备上进行扩展,或者在这种情况下用于浏览器窗口。