使内部 div 宽度动态化
Make inner div width dynamic
我想把剩余宽度给.inner div。同时它的兄弟姐妹(a & span 标签)可以是动态宽度的。
有什么想法吗?
下面的代码在 https://jsfiddle.net/pge8rqw0/
.top {} .inner {
border-bottom: 1px solid black;
background-color: green;
width: auto;
float: left;
width: 50px;
}
a {
float: left;
}
span {
float: right;
background-color: red;
}
<div class="top">
<a href="http://www.w3schools.com">Visit W3Schools.com!</a>
<div class="inner"></div>
<span>Html is good</span>
</div>
谢谢
使用 display: flex
的解决方案。
.top {
display: flex;
}
.inner {
border-bottom: 1px solid yellow;
background-color: green;
min-width: 50px;
flex: 1;
}
a {
background-color: #f5f5f5;
}
span {
background-color: red;
}
<div class="top">
<a href="http://www.w3schools.com">Visit W3Schools.com!</a>
<div class="inner"></div>
<span>Html is good</span>
</div>
如果您可以更改代码中元素的顺序,则无需 flex
即可实现,如下所示:
.top {overflow: hidden;}
a {
float: left;
}
span {
float: right;
background-color: red;
}
.inner {
border-bottom: 1px solid black;
background-color: green;
overflow: hidden;
}
<div class="top">
<a href="http://www.w3schools.com">Visit W3Schools.com!</a>
<span>Html is good</span>
<div class="inner">Inner Content</div>
</div>
我想把剩余宽度给.inner div。同时它的兄弟姐妹(a & span 标签)可以是动态宽度的。
有什么想法吗? 下面的代码在 https://jsfiddle.net/pge8rqw0/
.top {} .inner {
border-bottom: 1px solid black;
background-color: green;
width: auto;
float: left;
width: 50px;
}
a {
float: left;
}
span {
float: right;
background-color: red;
}
<div class="top">
<a href="http://www.w3schools.com">Visit W3Schools.com!</a>
<div class="inner"></div>
<span>Html is good</span>
</div>
谢谢
使用 display: flex
的解决方案。
.top {
display: flex;
}
.inner {
border-bottom: 1px solid yellow;
background-color: green;
min-width: 50px;
flex: 1;
}
a {
background-color: #f5f5f5;
}
span {
background-color: red;
}
<div class="top">
<a href="http://www.w3schools.com">Visit W3Schools.com!</a>
<div class="inner"></div>
<span>Html is good</span>
</div>
如果您可以更改代码中元素的顺序,则无需 flex
即可实现,如下所示:
.top {overflow: hidden;}
a {
float: left;
}
span {
float: right;
background-color: red;
}
.inner {
border-bottom: 1px solid black;
background-color: green;
overflow: hidden;
}
<div class="top">
<a href="http://www.w3schools.com">Visit W3Schools.com!</a>
<span>Html is good</span>
<div class="inner">Inner Content</div>
</div>