--- title: overflow-y slug: Web/CSS/overflow-y tags: - 元素单一方向溢出 translation_of: Web/CSS/overflow-y ---
当一个块级元素(div元素、p元素之类的)的内容在垂直方向发生溢出时,
CSS属性overflow-y
决定如何处理溢出的内容。
隐藏溢出内容(hidden),或者显示滚动条(scroll),或者直接显示溢出内容(visible),或者让浏览器来处理(auto)。
/* 在当前css选择器元素下, 元素内容在垂直方向上溢出时 */ /* overflow-y 属性 可选值 */ overflow-y: visible; /*内容可见*/ overflow-y: hidden; /*内容隐藏*/ overflow-y: scroll; /*总是显示滚动条*/ overflow-y: auto; /*浏览器决定*/ /* overflow-y 属性 全局可选值 */ overflow-y: inherit; /*继承*/ overflow-y: initial; /*默认值*/ overflow-y: unset; /*未设置*/
visible
hidden
clip
{{experimental_inline}}hidden
一样,内容被剪切到元素的填充框中。 clip
和 hidden
的区别是 clip
还禁止所有滚动,包括程序性滚动(programmatic scrolling)。包含框不再是滚动容器,并且不会启动新的格式设置上下文。 如果要启动新的格式设置上下文,可以使用 {{cssxref("display", "display: flow-root", "#flow-root")}} 。scroll
auto
<ul> <li><code>overflow-y:scroll</code> — 总是显示滚动条 <div id="div1"> 歌词是诗歌的一种,入乐的叫歌,不入乐的叫诗(或词)。入乐的歌在感情抒发、形象塑造上和诗没有任何区别,但在结构上、节奏上要受音乐的制约,在韵律上要照顾演唱的方便,在遣词炼字上要考虑听觉艺术的特点,因为它要入乐歌唱。歌词与诗的分别,主要是诗不一定要入乐(合乐),歌词是要合乐的。合乐成为歌曲。歌词一般是配合曲子旋律一同出现的,歌词是歌曲的本意所在。现代一般是配合音乐,便于哼唱的语句。 </div> </li> <li><code>overflow-y:hidden</code> — 在盒子外隐藏溢出的内容 <div id="div2"> 歌词是诗歌的一种,入乐的叫歌,不入乐的叫诗(或词)。入乐的歌在感情抒发、形象塑造上和诗没有任何区别,但在结构上、节奏上要受音乐的制约,在韵律上要照顾演唱的方便,在遣词炼字上要考虑听觉艺术的特点,因为它要入乐歌唱。歌词与诗的分别,主要是诗不一定要入乐(合乐),歌词是要合乐的。合乐成为歌曲。歌词一般是配合曲子旋律一同出现的,歌词是歌曲的本意所在。现代一般是配合音乐,便于哼唱的语句。 </div> </li> <li><code>overflow-y:visible</code> — 在盒子外显示溢出的内容 <div id="div3"> 歌词是诗歌的一种,入乐的叫歌,不入乐的叫诗(或词)。入乐的歌在感情抒发、形象塑造上和诗没有任何区别,但在结构上、节奏上要受音乐的制约,在韵律上要照顾演唱的方便,在遣词炼字上要考虑听觉艺术的特点,因为它要入乐歌唱。歌词与诗的分别,主要是诗不一定要入乐(合乐),歌词是要合乐的。合乐成为歌曲。歌词一般是配合曲子旋律一同出现的,歌词是歌曲的本意所在。现代一般是配合音乐,便于哼唱的语句。 </div> </li> <li><code>overflow-y:auto</code> — 在大多数浏览器中, <code>auto</code> 效果等于 <code>scroll</code> <div id="div4"> 歌词是诗歌的一种,入乐的叫歌,不入乐的叫诗(或词)。入乐的歌在感情抒发、形象塑造上和诗没有任何区别,但在结构上、节奏上要受音乐的制约,在韵律上要照顾演唱的方便,在遣词炼字上要考虑听觉艺术的特点,因为它要入乐歌唱。歌词与诗的分别,主要是诗不一定要入乐(合乐),歌词是要合乐的。合乐成为歌曲。歌词一般是配合曲子旋律一同出现的,歌词是歌曲的本意所在。现代一般是配合音乐,便于哼唱的语句。 </div> </li> </ul>
#div1, #div2, #div3, #div4 { border: 1px solid black; /*元素边框 1px宽 黑边*/ width: 280px; height: 120px; } #div1 { overflow-y: scroll; margin-bottom: 12px; } #div2 { overflow-y: hidden; margin-bottom: 12px; } #div3 { overflow-y: visible; margin-bottom: 150px; } #div4 { overflow-y: auto; margin-bottom: 12px; }
规范 | 状态 | 备注 |
---|---|---|
{{SpecName('CSS3 Box', '#overflow-y', 'overflow-y')}} | {{Spec2('CSS3 Box')}} |
特性 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本支持 | 1.0 | {{CompatGeckoDesktop("1.5")}} | 5.0 [*] | 9.5 | 3.0 |
特性 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本支持 | 1.0 | {{CompatVersionUnknown}} | {{CompatGeckoMobile("1.5")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
[*] IE8 引入了属性-ms-overflow-y
,作用与overflow-y
相同。不要使用前缀-ms-
。