當我在水平和垂直兩個方向都溢出的元素上指定overflow-x: hidden
時,除了隱藏水平溢出的內容之外,元素還會獲得一個垂直滾動條。我試過加入overflow-y: visible
甚至只是overflow: visible
,沒有效果。設置overflow-x:hidden添加一個垂直滾動條
我誤解了這些屬性的作用嗎?我認爲overflow-x
應該不會影響垂直溢出。
這發生在我試過的每個瀏覽器上。
下面是一個演示效果的代碼片段。我使用<pre>
標記,因爲它們是創建溢出內容的簡單方法,但它似乎會發生在任何標記中。
pre {
height: 40px;
width: 150px;
margin-bottom: 50px; /* We need this so they don't overlap. */
}
#x-hidden {
overflow-x: hidden;
}
#y-visible {
overflow-x: hidden;
overflow-y: visible;
}
#visible {
overflow: visible;
overflow-x: hidden;
}
<pre>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
<pre id="x-hidden">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
<pre id="y-visible">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
<pre id="visible">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
的W3C spec說:
'溢出-x' 和 '溢出-Y' 的計算值是與它們的指定的值,不同的是一些組合與'可見'是不可能的:如果一個被指定爲'可見',另一個'滾動'或'自動',則'可見'被設置爲'自動'。
但是,這並沒有提及的情況下,當overflow-x
或overflow-y
設置爲hidden
,這對我來說意味着這個組合確實意味着是可能的。
您可能想要在jsfiddle.net上粘貼一些示例代碼:) – 2011-05-30 19:00:48
x軸=水平。 y軸=垂直。 – MarioRicalde 2011-05-30 19:00:54
我剛遇到這個問題。我們的設計人員想要創建「流」出右邊的圖形。所以我允許圖像溢出容器div,但然後我設置爲全角行的隱藏溢出剪輯圖像,並防止整個頁面的水平滾動條。接下來,我還有一個.row :: after元素,它創建一個陰影並使用絕對定位將它推到行的下方,隱藏的溢出將隱藏。溢出-x隱藏; overflow-y:visible創建一個滾動條。我想要x剪輯,並且y沒有滾動條而溢出。類似於海報的問題。 – 2014-03-25 18:05:06