2012-02-13 99 views
0

我有兩個鏈接:購物者和商店。這兩個鏈接都有自己獨立的左右花車。 Store鏈接應該處於正確的浮動狀態,但在向左側的浮動框添加邊框樣式時,它會從其div中快照。我如何恢復到原位?例如,請看http://jsfiddle.net/JuCKU/CSS:我如何解決我的超鏈接對齊問題?

我完全忘了用新代碼更新jfiddle。 http://jsfiddle.net/JuCKU/3/

firefox有對齊問題,而谷歌瀏覽器似乎正確呈現佈局。

+0

首先,你的意思是你最後的CSS規則選擇是'#shopper,#store'?我也沒有看到Chrome 17上的佈局有什麼問題。 – 2012-02-13 16:21:45

+2

您可以在佈局破壞的地方放置一個小提琴嗎?我給#shopper添加了一個邊框,但一切都保持原樣。 – Hersha 2012-02-13 16:22:57

+0

@Hersha看看http://jsfiddle.net/JuCKU/3/ – dottedquad 2012-02-13 16:29:53

回答

1

掉落的寬度從50%至49%。既然你有一個邊框,它佔用了空間,並給每個div 50%的寬度,總的有點太寬,第二個div彈出一點。或者擺脫邊界。

jsFiddle

變化

#shopper, #store 
{ 
    width: 50%; 
    text-align: center; 
} 

到:

#shopper, #store 
{ 
    width: 49%; 
    text-align: center; 
} 
+0

感謝您的解釋。儘管我不喜歡IE瀏覽器,但我仍然希望將IE用戶融入其中。更改寬度似乎更像是一個通用瀏覽器修補程序。 – dottedquad 2012-02-13 16:59:39

+0

很高興我能幫到你。 – j08691 2012-02-13 17:11:26

1

這是一個四捨五入的問題。這不是一個四捨五入的問題,50%+ 50%+ 1px邊框超過100%。使寬度略小於50%是一個快速修復。

更改此:

#shopper, #store 
{ 
    width: 50%; 
    text-align: center; 
} 

此:

#shopper, #store 
{ 
    width: 49.9999%; 
    text-align: center; 
} 

http://jsfiddle.net/JuCKU/4/

+0

這實際上更像是一個盒子模型問題。邊框被繪製在元素的外部,因此使其比您定義的大,所以div的實際寬度應該是50% - (邊框的寬度)。你可以讓邊框在元素內部繪製,但我現在忘記了如何去做。 – Hersha 2012-02-13 16:36:42

+0

@Hersha這就是我意識到的,因此編輯。關於如何在框內渲染邊框,你是否想過「box-sizing」? http://www.w3.org/TR/css3-ui/#box-sizing – MrMisterMan 2012-02-13 16:39:40

+0

是啊,這是我想到的財產。 – Hersha 2012-02-13 16:41:36

1

添加邊界增加了箱子的整體尺寸,以50%+ 1像素,所以一起他們的組合寬度大於100%,而且必須給予。

您可以使用CSS3屬性box-sizing:border-box將邊框合併到Firefox的全部50%寬度或更具體的-moz-box-sizing中,在Chrome/Safari中使用-webkit-box-sizing,並將框中的大小歌劇。不幸的是IE瀏覽器還不支持這一點。

因此,將此添加到您的代碼。

#shopper, #store { 
    -moz-box-sizing:border-box; 
    -webkit-box-sizing:border-box; 
    box-sizing:border-box; 
} 

更多信息 - http://www.css3.info/preview/box-sizing/

正如其他人所說在所有瀏覽器的防彈解決方案,以減少你的箱子分數低於50%的寬度。

1

簡單給margin-right:-1pxshopper div

#shopper 
{ 
    float: left; 
    border-right: 1px solid #ccc; 
    margin-right:-1px; 
} 

入住這http://jsfiddle.net/JuCKU/6/

OR

您可以使用CSS3 box-sizing屬性這一點,但它的工作,直到上述IE8 &。

入住這http://jsfiddle.net/JuCKU/7/

+0

應用負邊距的問題是您的其餘內容會隨之移動。如果您有其他與之相符的邊界,這可能會讓事情看起來很有趣。 – Hersha 2012-02-13 16:45:17

+0

@Hersha我首先根據OP標記和第二個答案給出兩個答案,如果OP給它添加任何新東西的話。 – sandeep 2012-02-13 16:49:29

+0

我知道。只是指出你的第一種方法的副作用,而不是試圖折扣它。 :) – Hersha 2012-02-13 17:47:14