gpt4 book ai didi

css - 两列和边框中的div动态宽度

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:47 24 4
gpt4 key购买 nike

我在创建导航栏时遇到了一个有趣的问题,该导航栏包含两个动态大小的列和它们之间的搜索框,以及左右两侧的可点击选项卡。这是页面的代码:

<html>
<head>
<style>
.nav{
font-size: 14px;
width: 100%;
background-color: black;
color:white;
}

.nav .l-table {
display: table;
position: relative;
width: 100%;
}

.nav .l-table .l-cell {
display: table-cell;
position: relative;
text-align: center;
width: 95px;
}

.nav .l-table .l-cell.clickable {
background: gray;
}

.nav .l-table .l-cell.stretch{
min-width: 60px;
width: auto;
border-right: 1px solid;
}
</style>
</head>
<body>

<nav class="nav">
<div class="l-table">
<div class="l-cell clickable">
<a href="#">Home</a>
</div>

<div class="stretch l-cell"></div>

<div style="width:300px;" class="l-cell clickable">
<input type="text" value="Search"></input>
</div>

<div class="stretch l-cell"></div>

<div class="l-cell clickable">
<a href="#">Login</a>
</div>
</div>
</nav>

</body>
</html>

请注意两个黑色区域在调整窗口大小时如何缩小。这是我想要的行为,以便导航栏根据屏幕大小调整其大小。

我遇到的问题是,我不需要 .nav .l-table .l-cell.stretch 元素中的 border-right,但是当我删除它们来自 css,行为变得不同并且 width: auto 不起作用。

您是否知道问题出在哪里?奇怪的是,删除边框会导致这种情况,对我来说这似乎是一个错误。

对于如何使用不同的 css 制作相同的导航,您还有其他建议吗?

谢谢。

最佳答案

您正在使用相当困惑的固定和可变宽度属性。如果您的问题允许,我可以建议仅使用相对宽度定义。

即:

.nav .l-table .l-cell {
display: table-cell;
position: relative;
text-align: center;
width:5%;
min-width: 95px;
}

.nav .l-table .l-cell.clickable {
background: gray;
}

.nav .l-table .l-cell.clickable2 {
background: gray;
width:20%;
min-width:300px;
}

.nav .l-table .l-cell.stretch{
min-width: 60px;
width: 35%;
}

(clickable2类用于中心搜索框。更改那里的类名并去掉线型的宽度。)

关于css - 两列和边框中的div动态宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12285317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com