连续 2 列,百分比宽度
2 columns in a row, percentage width
我在将 2 列排列成一行时遇到问题。
第一列宽度为 2%,第二列宽度为 98%。
我怎样才能让他们工作?
我试过了 float:left;但这似乎不是一个正确的方法。
代码笔:https://codepen.io/rae0724/pen/gWGvxG
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
.moonsun {
width: 100%;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
试试这个:
.moonsun {
width: 100%;
display: flex;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
inline-block
将空白 space 算作一个内容,这就是为什么它没有设置为 100% 宽度的原因。要设置这些元素,您可以使用以下方法
.moonsun {
width: 100%;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div><!--
--><div class="sun">Sun<br><br><br><br><br><br></div>
</div>
或
.moonsun {
width: 100%;
font-size: 0px;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
font-size: 16px;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
font-size: 16px;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
或
.moonsun {
width: 100%;
display: flex;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
使用display:flex
你可以很容易地做到这一点。您的代码中存在问题,因此 我建议您使用这种方法。另外 word-break:break-all
到 调整 2% div
中的文本 因为它的宽度可能很小。
.moonsun {
width: 100%;
display: flex;
}
.moon {
width: 2%;
background: yellow;
margin: 0;
padding: 0;
flex: 1;
word-break: break-all
}
.sun {
width: 98%;
background: red;
margin: 0;
padding: 0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
我在将 2 列排列成一行时遇到问题。 第一列宽度为 2%,第二列宽度为 98%。 我怎样才能让他们工作? 我试过了 float:left;但这似乎不是一个正确的方法。
代码笔:https://codepen.io/rae0724/pen/gWGvxG
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
.moonsun {
width: 100%;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
试试这个:
.moonsun {
width: 100%;
display: flex;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
inline-block
将空白 space 算作一个内容,这就是为什么它没有设置为 100% 宽度的原因。要设置这些元素,您可以使用以下方法
.moonsun {
width: 100%;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div><!--
--><div class="sun">Sun<br><br><br><br><br><br></div>
</div>
或
.moonsun {
width: 100%;
font-size: 0px;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
font-size: 16px;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
font-size: 16px;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
或
.moonsun {
width: 100%;
display: flex;
}
.moon {
width: 2%;
background: yellow;
display:inline-block;
margin:0;
padding:0;
}
.sun {
width: 98%;
background: red;
display:inline-block;
margin:0;
padding:0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>
使用display:flex
你可以很容易地做到这一点。您的代码中存在问题,因此 我建议您使用这种方法。另外 word-break:break-all
到 调整 2% div
中的文本 因为它的宽度可能很小。
.moonsun {
width: 100%;
display: flex;
}
.moon {
width: 2%;
background: yellow;
margin: 0;
padding: 0;
flex: 1;
word-break: break-all
}
.sun {
width: 98%;
background: red;
margin: 0;
padding: 0;
}
<div class="moonsun">
<div class="moon">Moon<br><br></div>
<div class="sun">Sun<br><br><br><br><br><br></div>
</div>