好。我知道如何做到这一点,因为有多种方法可以做同样的事情,我也知道这是一个非常基本的问题,但往往做错了。
提出这个问题的关键是要知道在任何情况下都不会增加div的定位的最合适/最标准的方式。无论网站发生什么情况,我都希望网站结构完好无损(例如,当窗口重新调整大小时。)
我不希望看到样式的线条和线条,线条数量越少越好,如果有一种方法可以将它作为div标签属性实现,那就太棒了。
[![enter image description here][1]][1]
<!-- Main div -->
<div>
<!-- first div, which need to be aligned on the left -->
<div>
</div>
<!-- second div, which need to be aligned on the right,
parallel to the 1st div, not after the 1st div-->
<div>
</div>
<!-- Closing tag of main div-->
</div>
我发现这是一个很好的资源:https://css-tricks.com/all-about-floats/
答案 0 :(得分:1)
在这里,我相信这个解决方案的行数最少
div {
float: left;
padding: 10px 40px 10px 40px;
border: 1px solid black;
}
<div>
<div>SAMPLE TEXT1</div>
<div>SAMPLE TEXT2</div>
</div>
内联块
内联属性
首先,我需要提一下float元素的简单优缺点。
以下是根据Able Varghese给出的示例使用内联块的代码段:
div {
display: inline-block;
padding: 10px;
border: 1px solid black;
}
<div>
<div>SAMPLE TEXT1</div>
<div>SAMPLE TEXT2</div>
</div>
以下是使用display: inline;
的代码段。
div {
display: inline;
padding: 20px;
margin: 10px;
border: 1px solid black;
}
<div>
<div>SAMPLE TEXT1</div>
<div>SAMPLE TEXT2</div>
</div>
如果此特定代码段中有任何错误,请在评论中提及。我从来没有使用过这个解决方案,我只听说过它,所以这将是我第一次使用它。
以下是代码段
div {
display: table-cell;
padding: 10px;
border: 1px solid black;
}
<div>
<div>SAMPLE TEXT1</div>
<div>SAMPLE TEXT2</div>
</div>
这是使用flexbox的代码段:
div {
display: flex;
padding: 10px;
border: 1px solid black;
}
<div>
<div>SAMPLE TEXT1</div>
<div>SAMPLE TEXT2</div>
</div>
注意:此处的示例中绝对没有显示flexbox的实际功能。
这些是我所知道的常见解决方案。如果还有,(无用或无用)请在评论部分发布。
总而言之,它仅仅是开发者的选择。并使用三种最常用的解决方案:( float,inline-block和Flexbox)。它可以选择是否牺牲浏览器支持而不是可用性,或者是否可用于浏览器支持。你的选择。
答案 1 :(得分:0)
在我看来,适当的方法是将div1和div2的宽度设置为百分比,在这种情况下即使调整窗口大小也不会产生任何问题。