首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS深入理解学习笔记之overflow

ios原生滚动回调效果:-webkit-overflow-scrolling:touch; 3、Overflow与块状格式上下文    块级格式上下文(BFC):具体内容可参考BFC(块级格式上下文)...原因:绝对定位元素不总是被父级overflow属性裁剪,尤其当overflow在就对定位元素及其包含块(含position:relative/absolute/fixed声明的父级元素,没有则是body...答:①overflow元素自身作为包含块;     ②overflow元素子元素为包含块;     ③transform声明当作包含块:ⅰoverflow元素自身transform(仅支持:IE9+/FireFox...);ⅱoverflow子元素transform(支持IE9+/FireFox/Chrome/Safari/Opera)   overflow失效妙用:     菜单栏固定显示。...锚点:就是标签的ID。     锚点定位:通过锚链定位锚点位置。   (2)锚点定位的本质     在页面可滚动容器中,通过锚链滚动到其对应的锚点元素,即改变容器的滚动高度。

4.2K50

挥别web移动端开发差异和经典坑

web移动端 电话号码识别差异 在 iOS Safari (其他浏览器和 Android 均不会)上会对那些看起来像是电话号码的数字处理为电话链接,比如: 7 位数字,形如:1234567 带括号及加号的数字...在滚动容器上增加滚动 touch 方法 .wrapper { -webkit-overflow-scrolling: touch; } 设置overflow : 设置外部 overflow 为 hidden...body { overflow-y: hidden; } .wrapper { overflow-y: auto; } MDN定义: -webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果...touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...手指按住屏幕上拉,底部多出一块白色区域。安卓无此特性。 在 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。

2.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    清除过的浮动

    boxes),而匿名框中的display:table-cell可以创建新的BFC,换句话说,触发块级格式化上下文的是匿名框,而不是display:table。...实际上,即使fieldset在大多数的浏览器上都能创建新的块级格式化上下文,开发者也不应该把这当做是理所当然的。...这就意味着浏览器将会给块级格式化上下文创建隐式的外边距来阻止它和浮动元素的外边距叠加。...综上所述: 在支持BFC的浏览器(IE8+,firefox,chrome,safari)通过创建新的BFC闭合浮动; 在不支持 BFC的浏览器 (IE6-7),通过触发 hasLayout 闭合浮动。...方案3、4通过overflow闭合浮动,实际上已经创建了新的 块级格式化上下文,这将导致其布局和相对于浮动的行为等发生一系列的变化,闭合浮动只不过是一系列变化中的一个作用而已。

    86520

    CSS 中 关于 Overflow ,你需要了解的这些知识点!

    然而,在Safari上对iOS(12.4.1)进行测试时,滚动并没有起作用。经过反复试验,当我为子项添加宽度时,滚动起作用了,在iOS(13.3)上运行就没有问题啦。...如下所示: .card { overflow: hidden; border-radius: 7px; } 动画 当涉及动画时,overflow: hidden的好处是:在剪辑时可以悬停显示的隐藏元素上...Overflow的常见问题:在手机上滚动 例如,当我们有一个滑动条时,仅仅添加overflow-x是不够的。在Chrome iOS上,我们需要手动滚动和移动内容。看下面的动图: ?...touch:使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...下图是使用基于动量的滚动的效果。 ? 内联块元素 根据CSS规范: 将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈在同一行内,允许空格。

    5.3K20

    面试官:对下面的 CSS 题目回答一遍

    所以,项目之间的间隔比项目与边框的间隔大一倍。 align-items属性定义项目在交叉轴上如何对齐。...看这一篇就够了 块格式化上下文,这么专业的术语,BFC, 哪些方式会创建 BFC 呢?...浮动不会影响到其他BFC种的元素的布局, 清除浮动只能清除同一个BFC中在它前面的元素的浮动 外边距折叠也只会发生在属于同一BFC的块级元素之间 利用 BFC 避免 margin 重叠 下面这个例子会发现... 自适应两栏布局 每个盒子的 margin box 的左边,与包含块 border box 的左边相接触(对于从左往右的格式化,否则相反)即使存在浮动也是如此...它的效果和height:1%一样 } 在浮动元素后面加空标签(设clear:both) 给没有设置高度的父元素设置overflow:hidden 一个父亲不能被自己浮动的儿子,撑出高度。

    1.3K20

    修复一个因为 scrollbar 占据空间导致的 bug

    . /> 代码上没有什么问题, 不是手动设置的,而且, 在我和另一个同事, 还有PM的PC上都是OK的: ?...初步判断是,红框位置结算有差异, 差异大小大概是17px, 但是这个差异是怎么产生的呢? 就去测试小哥的PC上看, 注意到一个细节, 在我PC上, 滚动条是悬浮的: ?...由此判定是: 滚动条占据空间 引起的bug。 overscroll-y: overlay CSS属性 overflow, 定义当一个元素的内容太大而无法适应块级格式化上下文的时候该做什么。...仅在基于 WebKit(例如,Safari)和基于Blink的(例如,Chrome或Opera)浏览器中受支持。...表现: html { overflow-y: overlay; } 兼容性 没有在caniuse上找到这个属性的兼容性, 也有人提这个问题: ? 问题场景以及解决办法 1.

    3.4K20

    CSS3文本与字体

    (溢出文本的显示 / 隐藏) overflowt: visible / hidden; 3、text-overflow(规定当文本溢出包含元素时发生的事情) text-overflow: clip /...(.ttf)(Windows和Mac的最常见的字体,是一种RAW格式,因此不为网站优化) 兼容性:IE9+、FireFox3.5+、Chrome4+、Safari3+、Opera10+、IOS Mobile...Safari4.2+ OpenType (.otf)(被认为是一种原始的字体格式,内置在TureType的基础上,所以也提供了更多的功能) 兼容性:FireFox3.5+、Chrome4+、Safari3.1...+、Opera10+、IOS Mobile Safari4.2+ Web Open Font Format (.woff)(Web字体中最佳格式,是开放的TrueType/OpenType的压缩版本...,可以从TrueType创建此格式字体) 兼容性:IE4+ SVG (.svg)(基于SVG字体渲染的一种格式) 兼容性:Chrome4+、Safari3.1+、Opera10+、IOS Mobile

    1.3K30

    移动端的那些坑

    给外层元素加一个overflow:hidden属性即可解决。...当使用-webkit-overflow-scrolling: touch;时,同时使用::-webkit-scrollbar伪类的display:none隐藏滚动条在iOS 11+出现失效的情况,需要使用如下方案解决...,在iOS下,需要禁止页面中的touchmove事件,在安卓下,需要给html, body元素加上如下CSS:height:100%;overflow:hidden;。...css.sm-no-scroll {     height: 100%;     overflow: hidden; } 但由于禁掉了touchmove事件,导致iOS下你希望滚动的部分也无法滚动了,因此对于希望滚动的部分...在重叠的区域里,被遮盖的元素绑定click,遮盖的元素绑定touch事件,且touch后遮盖的元素会隐藏的话,就会造成穿透,因为click是在touch之后延迟触发的,浏览器会误认为是在遮盖的元素上触发了

    1.8K30

    移动端浏览器和微信浏览器上禁止body的滚动条

    一般禁止body滚动的做法就是设置overflow:hidden。...但是很奇怪的发现在移动端浏览器和微信浏览器上这个不起作用,然后我分析了我的写法,就是在body上加了一个class去定义属性,然后改成标签的定位,如body{overflow:hidden;},这个实现是可以的...再进一步分析,如果要用class去实现没有滚动条,如下代码设置: .index_body { overflow-y: hidden;/*为了兼容普通PC的浏览器*/ height: 100%...; position: fixed; } 这个就是完全的禁止上下滑动,没有滚动条,且在iOS的safari浏览器上完全不能上下滚,但是确发现微信浏览器上可以上下缩动(下面再解决)。...参考:http://www.cnblogs.com/lbcheng/p/6044303.html 经过上面的设置,如果用户在微信浏览器上不能滚动,但是跳出到了iOS的safari浏览器之后,会有很多变数

    3K10

    前端面试之CSS重点概念精讲

    你能所学到的知识点 ❝ 选择器 流、元素 盒模型 元素超出宽度...处理 元素隐藏 层叠规则 块级格式化上下文 元素居中 flex布局 Chrome支持小于12px 的文字 CSS 优化处理 (6个)...从「定义」上:内联元素的内联特指外在盒子 从「表现」上:可以和文字在一行显示 幽灵空白节点 在H5文档声明中,内联元素的所有解析和渲染表现就,如同每个「行框盒子」的前面有一个空白节点一样,这个空白节点...,只需要考虑后代元素 每个层叠上下文是自成体系的,当元素发生层叠的时候,整个元素被认为是在父层叠上下文的层叠顺序中 层叠上下文的创建(3类) 由一些CSS属性创建 「天生派」 「页面根元素天生具有层叠上下文...,很容易出现设置了巨大的z-index值无法覆盖其他元素的问题 ---- 块级格式化上下文Block Formatting Context 块级格式化上下文Block Formatting Context...层叠上下文的创建(3类) 由一些CSS属性创建 天生派 页面根元素天生具有层叠上下文 根层叠上下文 正统派 z-index值为数值的定位元素的传统层叠上下文 扩招派 (CSS3属性) 元素为flex布局元素

    2.4K30

    移动端H5页面开发坑点指南

    : hidden; 2.父元素设置为 display: inline-block;等 这里两种方法都是通过设置css属性将浮动元素的父元素变成BFC(块级格式化上下文)元素,使子元素高度可以撑开父元素;...属性在IOS及Android上无法使用,在PC端正常 2.audio元素没有设置controls时,在IOS及Android会占据空间大小,而在PC端Chrome是不会占据任何空间 问题4:Safari...: touch; overflow-x:auto在iOS有兼容问题,解决方法: .scroll-box { /* 模态框之类的div不能放在这个容器中,否则关闭模态框有时候关闭不了 */ height...:纠错 关于iOS与OS X端字体的优化(横竖屏会出现字体加粗不一致等)问题 iOS浏览器横屏时会重置字体大小,设置text-size-adjust为none可以解决iOS上的问题,但桌面版Safari...00:00,也就是说ios默认就是从0开始计算的,我们不需要设置后面的时分秒为00:00:00 iOS(safari)标签绑定点击事件无效 iOS(safari)有时候某个标签绑定点击事件无效,加上空的

    3.1K10

    了解BFC特性,轻松实现自适应布局

    BFC(Block Formatting Context)俗称块级格式上下文,初次看到这词似乎有点不是很理解,通俗解释就是一个独立区域决定了内部元素的排放,以及内部元素与外部元素的相互作用关系 正文开始...BFC是什么 俗称块级格式上下文,一块独立的区域决定了内部元素的位置排列,以及内部元素与外部元素的作用关系 BFC特点 我们先了解下BFC有什么特点 1、垂直方向,相邻BFC的块级元素会产生外边距合并...我给inner-box-2加个样式,用overflow:hidden触发生成一个新的BFC; 现在就变成了这样了 没错,盒子模型高度变成了190了,中间的4外边距没有合并了。...由于在4不是虽然不是根元素,但是身上加了overflow:hidden触发4形成一个新的BFC,那么触发BFC还有其他什么方式吗?...更多关于BFC可以参考MDN BFC[1] 总结 了解什么是BFC,BFC简称块级格式上下文,它是一块独立的区域影响子元素的排列,相邻区域的BFC边距会产生重合 触发BFC条件有,display: flex

    68350

    CSS8:到底什么是BFC?

    overflow'不为'visible'的块盒会为它们的内容建立一个新的块格式化上下文 在一个块格式化上下文中,盒在竖直方向一个接一个地放置,从包含块的顶部开始。...同一个块格式化上下文中的相邻块级盒之间的竖直margin会合并 在一个块格式化上下文中,每个盒的left外边(left outer edge)挨着包含块的left边(对于从右向左的格式化,right边挨着...一个块格式化上下文包括创建它的元素内部所有内容,除了被包含于创建新的块级格式化上下文的后代元素内的元素。 块格式化上下文对于定位 (参见 float) 与清除浮动 (参见 clear) 很重要。...定位和清除浮动的样式规则只适用于处于同一块格式化上下文内的元素。浮动不会影响其它块格式化上下文中元素的布局,并且清除浮动只能清除同一块格式化上下文中在它前面的元素的浮动。...比如举一个代码的例子,儿子是浮动元素,那么只要在爸爸上写overflow:hidden;或者overflow:auto;或者diaplay:flow-root;那么爸爸就会包住儿子,且margin也会在爸爸里面

    89530

    如何不使用 overflow: hidden 实现 overflow: hidden

    CSS 中 overflow 定义当一个元素的内容太大而无法适应块级格式化上下文时候该做什么。而 overflow: hidden 则会将超出容器范围内的内容剪裁。...控制 overflow: hidden 的方向 这源自一个实际的需求,在某个需求当中,要求容器内的内容,在竖直方向上超出容器会被裁剪,而在水平方向上超出容器,则不会被裁剪。类似这样: ?...这样,我们能够在正常布局流中,当前容器大小范围内,画出任意希望 overflow: hidden 的范围。...; 它会成为新的格式化上下文(It becomes a new formatting context),也就是说,这意味着元素外部的布局不会再影响它的子元素; 更具体的,可以看看这篇文章 -- CSS...会创建一个 BFC,而clip-path不会,它只是单纯的裁剪 兼容性间的差异 所以也就是说,CSS 不仅仅只有 overflow: hidden 实现 overflow: hidden,很多情况,可以灵活使用

    2.2K10

    CSS进阶04-块格式化上下文BFC

    BFC渲染规则 CSS2.2中规定BFC具有如下特征: 在一个块格式化上下文中,盒从包含块顶部开始一个接一个地垂直摆放。两个同胞盒间的垂直距离取决于 margin 属性。...同一个块格式化上下文中的相邻块级盒的垂直外边距将折叠。...在一个块格式化上下文中,每个盒的左外边缘紧贴包含块的左边缘(从右到左的格式里,则为盒右外边缘紧贴包含块右边缘),即使有浮动参与也是如此(尽管盒里的行盒可能由于浮动而收缩),除非盒创建了一个新的块格式化上下文...下面,我们详细举例说明这两条规则: 3.1 在一个块格式化上下文中,盒从包含块顶部开始一个接一个地垂直摆放。两个同胞盒间的垂直距离取决于 margin 属性。...3.2在一个块格式化上下文中,每个盒的左外边缘紧贴包含块的左边缘(从右到左的格式里,则为盒右外边缘紧贴包含块右边缘),即使有浮动参与也是如此(尽管盒里的行盒可能由于浮动而收缩),除非盒创建了一个新的块格式化上下文

    60530

    FLOAT坍塌原理及解决方案

    定位方案的三种流 普通流:包括对块级框的块格式,对行级框的行格式,对块级框和行级框的相对定位; 浮动:在浮动模型中,一个框先按照正常排版来摆放,再将它从排版流中取出并尽可能地向左或向右偏移,其它内容可以排在一个浮动的周围...; 绝对定位:在绝对定位模型中,一个框会从排版流中完全脱离出来(它对后续的兄弟没有影响),并相对其包含块来指定其位置(包括 absolute, fixed )。...块格式化上下文 BFC 全称为 Block Formatting Context(块格式化上下文),它是CSS2.1规范定义的页面 CSS 视觉渲染的一部分,用于决定块盒子的布局及浮动相互影响范围的一个区域...表格标题 display: table-caption overflow不为visible的元素 弹性盒 flex boxs (display: flex 或 inline-flex) 一个BFC包含创建该上下文元素的所有子元素...,但不包括创建了新BFC的子元素的内部元素。

    43820

    手机端页面在项目中遇到的一些问题及解决办法

    作者:键盘上的眼泪 https://segmentfault.com/a/1190000015178877 1.解决页面使用 overflow: scroll 在 iOS 上滑动卡顿的问题?...(2) 在滚动的容器中增加:-webkit-overflow-scrolling: touch 或者给 body 增加:body {overflow-x: hidden}。...(1) 规范中有规定:如果元素的 transform 值不为 none,则该元素会生成包含块和层叠上下文。CSS Transforms Module Level 1 不只在手机上,电脑上也一样。...除了 fixed 元素会受影响之外,z-index(层叠上下文)值也会受影响。绝对定位元素等和包含块有关的属性都会受到影响。...-- 可隐藏地址栏,仅针对IOS的Safari(注:IOS7.0版本以后,safari上已看不到效果) --> <!

    3.5K30
    领券