2014-10-07 61 views
1

如何使用inline-block而不是float來創建此佈局?
可以對HTML進行的唯一更改是#A和#B的順序。使用內聯塊代替浮動塊的Css佈局

http://jsfiddle.net/a2envebj/4/

的HTML:

<div id="root"> 
    <div id="A"></div> 
    <div id="B"></div> 
    <div id="C"></div> 
</div> 

的CSS:

* { 
    margin:0; 
    padding:0; 
} 
#root { 
    width:450px; 
    height:300px; 
    background-color: #CCC; 
} 
#A { 
    float: left; 
    width: 200px; 
    height:240px; 
    background-color: green; 
} 
#B { 
    float:left; 
    width: 200px; 
    height:120px; 
    background-color: yellow; 
} 
#C { 
    float: left; 
    width: 200px; 
    height: 120px; 
    background-color: orange; 
} 
+0

你試過和你爲什麼需要做出改變? – 2014-10-07 14:39:11

+1

如果你問,你可以使用這個HTML來構建這個佈局而不使用任何浮點數,並且只使用內聯塊,我會說不。但是,這個答案可能無法幫助你。你能解釋一下你想做什麼,謝謝! – 2014-10-07 14:44:18

+1

這是可能的建立佈局,但只能通過修改標記來包裝B&C - http://jsfiddle.net/a2envebj/13/ – 2014-10-07 14:44:52

回答

0

標記:

<div id="root"> 
    <div id="A"></div> 
    <div id="C"></div> 
    <div id="B"></div> 
</div> 

個CSS:

* { 
    margin:0; 
    padding:0; 
} 
#root { 
    width:450px; 
    height:300px; 
    background-color: #CCC; 
} 
#A { 
    width: 200px; 
    height: 240px; 
    background-color: #008000; 
    display: inline-block; 
} 
#B { 
    width: 200px; 
    height: 120px; 
    background-color: #FF0; 
    display: inline-block; 
    margin-left: -4px; 
} 
#C { 
    width: 200px; 
    height: 120px; 
    background-color: #FFA500; 
    display: inline-block; 
    position: absolute; 
    top: 0; 
    left: 200px; 
} 

不需要額外的標記 - 棘手的,我喜歡:)

+0

謝謝,但是'position:absolute'正在渲染'inline-block'沒用。這是我需要的。 – yossi 2014-10-07 14:59:56

+1

你之前沒有提到過。任何其他限制?你可能需要訴諸額外的包裝或一些JS解決方案。乾杯。 – robjez 2014-10-07 15:07:49

0

這是否適合您的需要或沒有,但你必須要包住2小格,然後顯示這個新的DIV內嵌有較大的綠色DIV

http://jsfiddle.net/a2envebj/11/

由於我們使用內聯塊,我們必須除去的DIV之間的白色空間

<div id="root"> 
    <div id="A"></div><div id="wrap"> 
     <div id="B"></div> 
     <div id="C"></div> 
    </div> 
</div> 

渦卷{

width:200px; 
height:240px; 
background:#000; 
display:inline-block; 

}

A {

display: inline-block; 
width: 200px; 
height:240px; 
background-color: green; 

}

B {

display: block; 
width: 200px; 
height:120px; 
background-color: yellow; 

}

13 C {

display: block; 
width: 200px; 
height: 120px; 
background-color: orange; 

}

+0

的回答,謝謝,但是這增加了HTML,並且它不是一個選項... – yossi 2014-10-07 15:01:25