Joh*_*ohn 2 css margin css-float
我试图让第一个div孩子100%在可用空间减去20px之后使用,然后使用第二个div孩子使用20px并与第一个孩子在同一条线上div.
<div style="width: 10%;">
<div style="float: left; margin-right: 20px;">Left side, should use up all space except margin!</div>
<div style="float: left; margin-left: -20px; width: 20px;">Should only use 20px no matter what.</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这应该能够用CSS一级(这意味着没有position跛脚)完成,虽然我知道我错过了什么.此外anchors,两个div元素中都必须使用100%的可用宽度,因此这里有一个技巧float可以让它以某种方式运行......
Dan*_*eld 10
利用overflow: hidden(或溢出:自动)填充剩余的水平空间.
(注意:要使其正常工作,您需要先在标记的右侧放置元素)
<div>
<div class="div2">DIV 2</div>
<div class="div1">DIV 1</div>
</div>
Run Code Online (Sandbox Code Playgroud)
.div1 {
background:yellow;
overflow: hidden;
}
.div2 {
background:brown;
float:right;
width: 50px;
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做 box-sizing: border-box
<div>
<div class="div1">DIV 1</div>
<div class="div2">DIV 2</div>
</div>
Run Code Online (Sandbox Code Playgroud)
.div1 {
background:yellow;
float:left;
padding-right: 50px;
margin-right: -50px;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
}
.div2 {
background:brown;
float:left;
width: 50px;
}
Run Code Online (Sandbox Code Playgroud)
使用css表:
<div class="container">
<div class="div1">DIV 1</div>
<div class="div2">DIV 2</div>
</div>
.container
{
display:table;
}
.div1 {
background:yellow;
display: table-cell;
width: 100%;
}
.div2 {
background:brown;
width: 50px;
display: table-cell;
word-break: break-word;
min-width: 50px;
}
Run Code Online (Sandbox Code Playgroud)
使用 calc
在第一个孩子集 width: calc(100% - 50px)
在第二组div width: 50px;
.div1 {
background:yellow;
width: calc(100% - 50px);
float: left;
}
.div2 {
background:brown;
width: 50px;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8436 次 |
| 最近记录: |