2010-01-11 52 views

回答

2

在回答「有另一種方式做到這一點」,當然你可以使用display: inline,但你有一堆黑客記得要讓它在IE6/7工作。這種方式一般是更好的(但是這一切都歸結爲個人情況)

<style type="text/css"> 
    .keeper { 
     overflow: hidden; /* expand to contain floated children */ 
    } 

    .keeper div { 
     width: 200px; 
     height: 30px; 
     float: left; 
     border-top: 1px solid red; /* so you can see the 'tops' */ 
    } 
    </style> 
    <div class="keeper"> 
     <div> 
     </div> 
     <div> 
     </div> 

    </div> 
0

將它們浮在容器中。

.parent div { float: left; width: 50%; } 

<div class="parent"> 
    <div>1</div> 
    <div>2</div> 
</div> 

注:兒童的寬度的總和div s不能是父div,包括marginpadding的大於100%。

替代

如果保持與頁面流是不是必需的,和所有真正重要的是心,他們的div總是可以絕對定位。

.abs { position: absolute; top: 100px; width: 50px; } 
.left { left: 0px; } 
.right { left: 50px; } 

<div class="abs left">1</div> 
<div class="abs right">2</div> 
+0

有沒有另一種方法呢? – Steven 2010-01-11 05:51:30

5

Steven

除了T. Stone的建議浮動兩個div的,一個簡單的方法來對準兩個div是使兩者都有display: inline-block;的CSS規則,並給出較低的div vertical-align: top; CSS規則。

看看這個簡單的jsFiddle示例,看看它是如何工作的。

div { 
    display: inline-block; 
} 
div#tall { 
    height: 4em; 
} 
div#short { 
    height: 2em; 
    vertical-align: top; 
} 
+0

Upvoted這是因爲它沒有使用float:left使父div變短。 – 2014-03-15 18:45:59

+0

@VinceYuan當父元素的內容由浮動元素組成時,爲了防止父元素崩潰,請向父元素添加「overflow:auto;」。父母會伸展以適應內容:) – Matthew 2014-04-09 00:06:34