html - 并排排列CSS元素

标签 html css

我有以下东西:

HTML:

<li class="left">elem1</li>  <li class="right">elem2</li>
<li class="left">elem3</li>  <li class="right">elem4</li>

CSS:

li.left
{
    width:50%;
    float:left;
}

li.right
{
    width:50%;
    float:right;
}

不幸的是,elem1不与 elem2 对齐,所以同样适用于 3 和 4。 elem (1,2,3,4) 由以下部分组成:

<div>
  <h1>...</h1>
  <p>...</p>
</div>

并且可以有很多不同的尺寸,但我仍然希望它们排成一行。 知道如何通过保持相同的结构(没有 <table> 标签)来解决这个问题。

编辑: 这是它的样子:

Not lined-up correctly

谢谢。

最佳答案

虽然您在问题中没有说太多,但我猜您在对齐不同高度的 float 时遇到了问题。看这张图:

misaligned floats

elem1 的高度意味着其他元素最终漂浮在它旁边而不是下面。

要解决这个问题,您应该统一它们的 float 方式并清除 float :

li.left{
    width:50%;
    float:left;
    clear:left; 
}

li.right{
    width:50%;
    float:left; /* <- even the right elems should be floated left */
    clear:right;
}

enter image description here

演示:http://jsfiddle.net/62rv2yg9/1/

然而...

使用 float 很烦人。使用内联 block 可能会更好:

ul {list-style-type:none; margin:0; padding:0; border-bottom:2px solid #aaa;}
ul li{
    box-sizing: border-box; /* http://www.paulirish.com/2012/box-sizing-border-box-ftw/*/
    display:inline-block;
    width:50%;
    padding:10px;
    vertical-align:top;
    border-top:2px solid #aaa;
}
ul li h1 {margin:0; font-size:16px; color:blue;}
ul li p {margin:0;}
<ul><!--
 note. no whitespace between elements (http://css-tricks.com/fighting-the-space-between-inline-block-elements/)
--><li><h1>elem1</h1><p>Lorem ispum</p></li><!--
--><li><h1>elem1</h1><p>Lorem ispum aenean lacinia bibendum nulla sed consectetur. Curabitur blandit tempus porttitor. Donec sed odio dui.</p></li><!--
--><li><h1>elem1</h1><p>Lorem ispum curabitur blandit tempus porttitor. Donec sed odio dui.</p></li><!--
--><li><h1>elem1</h1><p>Lorem ispum</p></li>
</ul>

关于html - 并排排列CSS元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26716339/

相关文章:

html - 垂直对齐 block <a> 标签中的一些文本

javascript - Twitter Bootstrap 下拉菜单不出现

html - 带有 Bootstrap 的 map 和固定侧边栏

html - 如何为单页 React 应用程序中的链接实现 "Open link in new tab"

css - Rails Simple Form Bootstrap - 复选框内联垂直对齐

javascript - 当导航链接点击 jQuery 时切换事件类

javascript - 使用 document.getelementbyid 从 javascript 在 html 文档中创建表格

javascript - 如何使盒子从侧面扩展一段距离

html - 媒体查询后,在 Safari 中无法正常工作的两个 float 之间的 Div 居中对齐。

php - 当jquery向网页添加宽元素时动态重置iPhone iPad上的视口(viewport)