我正在寫一個響應式WordPress網站。我正在使用骨骼主題模板。包括網格系統在內的大部分網站都運行得很好,但是我發現我需要不同的屏幕尺寸的列數。Safari nth-child error
要做到這一點,我用了一下SCSS的,看起來像這樣:
(base media query)
section{
display:table;
float:left;
margin-left:0;
width:100%;
}
(media query for 768 px and above)
section{
height:150px;
width:48.618784527%;
&:nth-child(3n+1), &:nth-child(2n){
margin-left:2.76243%;
}
&:nth-child(2n+1){
margin-left:0;
}
text-align:right;
}
(media query for 1030px and above)
.pracareas{
section{
width:31.491712705%;
&:nth-child(2n+1){
margin-left:2.76243%;
}
&:nth-child(3n+1){
margin-left:0;
}
}
}
和HTML這樣
<div class="pracareas">
<section>... content</section>
<section>... content</section>
<section>... content</section>
<section>... content</section>
</div>
這適用於桌面瀏覽器和Android大。但在Safari我得到的是這樣的:
什麼是真正奇怪的是,如果我刷新和/或旋轉的ipad到縱向或反之亦然,我得到這個:
但是,如果我點擊一個指向這個頁面的鏈接或者直接訪問它(在網址欄中輸入),佈局就會搞砸,直到我刷新或旋轉。
我可能會放棄這種方法,並在固定數量的列上移動,因爲這看起來很混亂。但我想我會問,因爲它只能在單個瀏覽器上運行。
任何想法爲什麼它修復自己的設備旋轉/刷新?另外,差別非常大,我無法想象它的舍入錯誤... –
例如,您可以在代碼集中使用「position:fixed」中的某個元素,並且Safari以其出現bug而聞名。解決方法是設置這些「位置:絕對」。但是這更關注於輸入框。我應該看到你所有的代碼都有想法。 –
嘿,我認爲你說的是一個四捨五入的錯誤 - 在這裏描述http://css-tricks.com/percentage-bugs-in-webkit/。我實際上通過將第二個元素右移並放棄多個不同的列布局來修復它。 –