2014-10-29 184 views
2

我試圖在同一行中按照該順序對齊hr標籤,圖像和hr標籤。將hr標籤和img標籤對齊

到目前爲止我的代碼

<div class="arrow"> 
    <hr class="left"> 
    <img src="http://bit.ly/100X8XQ" height="10" width="10"> 
    <hr class="right"> 
<div> 

CSS:

.arrow { 
    margin-top: 20px; 
} 

.left { 
    martin-left: 20px; 
} 

img { 
    display: inline-block; 
} 

.right { 
    martin-right: 20px; 
} 

我想有顯示:在多個地方內嵌塊,但我無法得到它的工作。有沒有辦法解決它?

http://jsfiddle.net/ceobm2he/

回答

1

有點奇怪的要求。 <hr>具有語義含義,不應僅用於造型目的。設計中的線通常通過邊框/輪廓完成。

但是,這是你可能想要的東西:

.arrow{ 
 
} 
 

 
.left{ 
 
    margin-right:20px; 
 
    float: left; 
 
    width: 46%; 
 
} 
 

 
img{ 
 
    float: left; 
 
} 
 

 
.right{ 
 
    margin-left:20px; 
 
    float: right; 
 
    width: 46%;  
 
}
<div class="arrow"> 
 
    <hr class="left"> 
 
    <img src="http://bit.ly/100X8XQ" height="10" width="10"> 
 
    <hr class="right"> 
 
<div>

Fiddle here

注意:代碼中存在「marGin」這個詞的拼寫錯誤。

1

使用calc計算寬度的另一個版本hr個標籤:

.arrow > * { 
 
    display: inline-block; 
 
} 
 
.arrow hr { 
 
    width: calc(50% - 45px); /* 45px = desired margin left + right */ 
 
} 
 
.arrow .left { 
 
    margin-left: 20px; 
 
} 
 
.arrow img { 
 
    margin: 0; 
 
    margin: 0 10px; 
 
} 
 
.arrow .right { 
 
    margin-right: 20px; 
 
}
<div class="arrow"> 
 
    <hr class="left" /> 
 
    <img src="http://bit.ly/100X8XQ" height="10" width="10" /> 
 
    <hr class="right" /> 
 
</div>

注:calc功能在所有主要的瀏覽器IE9,包括支持+。