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

一道面试题来看伪元素、包含块和高度坍塌

边距塌陷(Collapsing margins) 在CSS中,两个或多个框(可能是也可能不是兄弟)的相邻边距可以合并形成一个边距,称为边距塌陷。...不会发生边距坍塌的情况 根节点元素 水平边距(Horizontal margins)不会崩溃 「如果具有间隙的元素的顶部和底部相邻,他会与后续同级的元素边距一起坍塌,但是不会与父元素底部的一起坍塌(If...「如果'min-height'属性为零,并且框没有顶部或底部边框,也没有顶部或底部填充,并且框的'height'为0或'auto',并且框不包含边距,则框自身的边距会折叠 行框,其所有流入子页边距(如果有的话...,当边距全为正数的时候,结果页边距宽度是边距塌陷宽度的最大值。...2.当边距全为负数的时候,取最小值。 3.在存在负边距的情况下,从正边距的最大值中减去负边距的绝对值的最大值。

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

    移动端样式问题汇总

    1,去掉移动端苹果手机点击时阴影 div { -webkit-tap-highlight-color:rgba(0,0,0,0); } 2,输入去掉边框,单击阴影,下划线 输入{ 边界:0; 大纲:无...:隐藏; 文字溢出:省略号; } .line-2 { 宽度:100px; 溢出:隐藏; 文字溢出:省略号; 显示:-webkit-box; -webkit-line-clamp:2; //控制多行的行数...中央 { 位置:绝对; 最高:50%; 左:50%; 边距:-50px 0 0 -50px; //假设宽高都为100px } //弹性布局 。...* / :-moz-placeholder {} / * Firefox版本4-18 * / ::-moz-placeholder {} / * Firefox版本19+ * / :-ms-input-placeholder...{} / * IE浏览器* / //冒号前写input或textarea等元素 // IE9和Opera12以下版本的CSS选择器均不支持占位文本 8,去掉图片底部至少边距 img { 边界:0; 垂直对齐

    86620

    WordPress 主题教程 #11:宽度和布局

    详细解释: margin: 0 auto 0 auto; 意思是(注意顺序):0上页边空白,自动右页面空白,0下页边空白和自动左页面空白。从现在开始,记得设置左右页边空白为自动将使得居中对齐。...还记得设置左边和右边的页边空白为自动是居中吗?...第7步:给侧边栏增加其余的 10 像素 给侧边栏增加其余的 10 像素的页边空白。...第8步(额外的步骤):修正 IE 的双倍页边距 bug Internet Explorer 有个双倍页边距的 bug,这样在 IE 下,我们的页面距就是 20像素,20像素的页边距可能会破坏布局并把侧边栏挤到页面的底部...,因为一个20像素的页边距使得 Container 和 Sidebar 的宽度之和为 760px 而不是 750px。

    1.3K20

    分享 10 个 常用且必须要掌握的 CSS 知识点

    简单来说,CSS 盒模型是一个包含多个组件的容器,包括边框、边距、内边距和内容本身。 总之,它是一个用于自定义不同元素布局的 CSS 工具包。...此外,添加边距、内边距和边框不会减小内容区域的总大小。 box-sizing 还有另一个值,称为border-box。 设置时会减小内容区域的大小。...4、边距: 边距是元素边界之外的空间。它在相邻元素之间创建了一个空间。...2、使用 Mozilla Firefox CSS 工具 Firefox 或 Mozilla Firefox 是由 Mozilla 基金会开发的免费开源网络浏览器。...元素注释 Firefox 开发工具: Firefox CSS 开发人员工具提供了令人惊叹的注释,使您作为开发人员的工作更轻松。 只需查看 HTML,您就可以看到哪些元素溢出并采取必要的措施来修复它。

    6.9K10

    对html与body的一些研究与理解

    ,按照对一般标签的理解,100像素的外边距应该不含有背景色的,然而显示的结果是(Firefox下表现与此类似): ?...IE6下body设置background颜色边框和边距后的表现 还有一点可以证明我上面的推论,就是一旦设置了节点的background背景色之后,的背景色将失效。...Firefox浏览器下html标签支持margin外边距 这是缩放到500像素宽的图片,仔细看还是会发现IE6下margin没有起作用,顶边的是30像素的边框,Firefox下margin起作用了,可以看到.../image/404.png) no-repeat fixed center center;} div{height:2000px;} 结果IE6下,背景不固定了,只看到背景图片随着滚动条上下移动而移动...前段时间看到百度的一道面试题,说什么透明层无论滚动与否都满屏显示,其实就是对和标签做一番手脚,两者高度100%显示,同时溢出隐藏(overflow:hidden),然后用一个div

    2.1K30

    子元素margin-top导致父元素移动的问题

    问题分析 在MDN上面有这么一段文字: 块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(折叠)为单个边距,其大小为单个边距的最大值,这种行为称为边距折叠。...有三种情况会产生边距折叠: 1、同一层相邻元素之间 div class="A">元素Adiv> div class="B">元素Bdiv> .A, .B { width...注意:即使设置父元素的外边距是0,margin: 0,第一个或最后一个子元素的外边距仍然会“溢出”到父元素的外面。...中包含负值,折叠后的margin的值为最大的正边距与最小的负边距(即绝对值最大的负边距)的和;也就是说如果有-10px,10px,30px叠在一起,margin的范围就是 30px-10px=20px。...如果所有参与折叠的外边距都为负,折叠后的外边距的值为最小的负边距的值。这一规则适用于相邻元素和嵌套元素。

    2.7K20

    三. CSS layout(布局)

    margin) 外边距不会影响盒子可见框的大小 但是外边距会影响盒子的位置 一共有四个方向的外边距: margin-top 上外边距,设置一个正值,元素会向下移动 默认情况下设置margin-right...不会产生任何效果 下外边距,设置一个正值,其下边的元素会向下移动 左外边距,设置一个正值,元素会向右移动 margin也可以设置负值,如果是负值则元素会向相反的方向移动 元素在页面中是按照自左向右的顺序排列的..., 所以默认情况下如果我们设置的左和上外边距则会移动元素自身 而设置下和右外边距会移动其他元素 margin的简写属性: margin 可以同时设置四个方向的外边距 ,用法和padding一样 margin..., 所以默认情况下如果我们设置的左和上外边距则会移动元素自身 而设置下和右外边距会移动其他元素..., 如果子元素的大小超过了父元素,则子元素会从父元素中溢出 使用 overflow 属性来设置父元素如何处理溢出的子元素

    2.2K40

    清除过的浮动

    缺点:内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素;04年POPO就发现overflow:hidden会导致中键失效,这是我作为一个多标签浏览控所不能接受的。...有些浏览器bugs(Webkit,Mozilla)提到过这个触发行为,但是没有任何官方声明。...这就意味着浏览器将会给块级格式化上下文创建隐式的外边距来阻止它和浮动元素的外边距叠加。...其实它是用来处理margin边距重叠的,由于内部元素 float 创建了BFC,导致内部元素的margin-top和 上一个盒子的margin-bottom 发生叠加。...并不是如同大漠《Clear Float》一文所说的:但只使用clearfix:after时在跨浏览器兼容问题会存在一个垂直边距叠加的bug,这不是bug,是BFC应该有的特性。 ?

    86520

    一篇文章带你了解CSS基础知识和基本用法

    )).处理溢出文本 div style='text-overflow:ellipsis'>div> clip 修剪文本 ellipsis 省略符号来代表被修剪的文本...通过通用选择器,可以设置所有的元素的border padding margin 初始值为0: *{ margin:0; padding:0; border:0 } 所有的边距都可以用em px...none 不浮动 11).溢出Overflow 元素内容超过了框架的大小 div{ overflow:scroll } visible 内容不会被修剪,会呈现在元素框之外 hidden 内容会被修剪...在宽度和高度之外绘制元素的内边距和边框。 border-box 为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。...指示矩形框的边缘可被向上及向左移动(北/西) n-resize 指示矩形框的边缘可被向上(北)移动 se-resize 指示矩形框的边缘可被向下及向右移动(南/

    11.1K20

    CSS 实用手册

    溢出,当使用尺寸属性限制元素大小时,如果内容所需的空间大于元素本身空间,则会产生溢出的效果 (1). overflow:溢出处理 overflow-x:横向溢出处理 overflow-y:纵向溢出处理...外边距的溢出, 特殊场合下,为子元素设置外边距(上下)会作用到父元素上 特殊场合: a. 父元素没有边框(上下) b. 为第一个(最后一个)子元素设置外边距 解决方案: a....在 td 中,设置文本的垂直对齐方式 ②. 设置行内块元素两边文本的垂直对齐方式 ③....解决的两个问题 ①. 外边距溢出问题 外边距常规的解决方法: A. 为父元素添加边框 B. 使用父元素的内边距,取代子元素的外边距 D....) 改变元素在 x 和 y 轴的位置 x 取值为正向右移动 x 取值为负向左移动 y 取值为正向下移动 y 取值为负向上移动 C. translateX(x) 元素只在 x 轴上移动 D. translateY

    2.7K10

    小小结( 二 )

    : 0; } 在IE7和FF中width宽度不包括padding,在Ie6中包括padding. ② IE6双边距问题;在 IE6中设置了float , 同时又设置margin , 就会出现边距问题...filter:alpha(opacity=50); filter:progid:DXImageTransform.Microsoft.Alpha(style = 0, opacity = 50); ⑥ 边距重叠问题...: 当相邻两个元素都设置了margin 边距时,margin 将取最大值, 舍弃最小值; 解决方案:为了不让边重叠,可以给子元素增加一个父级元素,并设置父级元素为overflow:hidden...; ⑦ 两个块级元素,父元素设置了overflow:auto;子元素设置了position:relative ;且高度大于父元素,在IE6、IE7会被隐藏而不是溢出; 解决方案:父级元素设置...event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX. ⑩ 事件委托方法;IE下,使用document.body.onload

    63420

    Html元素的scrollWidth和scrollHeight详解 .

    综上所述,结合IE和Firefox的官方文档的解释,我认为scrollWidth的语义就是当一个元素有滚动条的时候,scrollWidth表示的是元素内容区域的滚动宽度,当没有滚动条的时候,就是元素的本身宽度...再来看看firefox是如何表现的。 4、Firefox (1)没有滚动条,没有内容。如下图,scrollWidth = 左内边距 + 内容宽度 + 右内边距 (2)有滚动条,有内容。...如下图,scrollWidth = 左内边距 + 内容宽度 综上,Firefox的scrollWidth = 左内边距 + 内容宽度。...IE 8及firefox等其他浏览器都没有加上padding-right。 最后,我向bugzilla提交了一个firefox的bug。受理的很快,中午提交,下午就有人回复。...地址在这里:https://bugzilla.mozilla.org/show_bug.cgi?

    84110

    译|CSS中的间距,前端开发中各种设置间距的优点缺点及实例

    此外,CSS Tricks还在页边距底部和页边距顶部之间进行了投票。61%的开发者更喜欢 margin-bottom 而不是 margin-top。.... --> div> div> 通常,我更喜欢将组件封装起来,并避免给它们增加边距。由于这个原因,我有 grid__item元素,我的card组件将位于其中。...如果一个 后面有一个标题,例如“Types of Spacing”,那么 的 margin-bottom 将被忽略。你猜到了,那是因为页边距折叠。...结果表明,基于 writing-mode 的页边距工作得非常好。 我认为这些用例就足够了。让我们继续一些有趣的概念! 组件封装 大型设计系统包含许多组件。向其直接添加边距是否合乎逻辑?...或者,当它垂直堆叠时在移动设备上将如何工作?很多很多的复杂性。

    12.1K10

    深入学习下 CSS 间距相关的知识

    边距折叠 简而言之,当两个垂直元素有一个边距,并且其中一个的边距大于另一个时,就会发生边距折叠。 在这种情况下,将使用较大的边距,而忽略另一个边距。...editors=1100 另一个与边距折叠相关的示例是子级和父级,让我们假设以下内容: HTML: div class="parent"> div class="child">I'm the child...在撰写本文时,它仅在 Firefox 中受支持的缺点。...处理底边距 假设以下组件堆叠。 每个组件都有一个底部边距。 请注意,最后一个元素有边距。 这是不正确的,因为边距应该只在元素之间。...例如,根据视口宽度设置具有最小值和最大值的边距。 答案是肯定的! 我们可以。 最近,CSS 数学函数在 Firefox 75 中得到支持,这意味着它们在所有主流浏览器中都受 CanIUse 支持。

    13.5K40

    【CSS】处理兼容性问题 | CSS Hack | IE

    select, textarea { font-size:100%; } table { border-collapse:collapse; border-spacing:0; } (1)IE6双边距...; (2) 行内属性标签,为了设置宽高,我们经常就会设置成display:block,产生IE6双边距bug; 解决办法: 设置display:block后,再添上display:inline和display...:IE盒子模式和W3C标准模式,所以对象的实际宽度也要注意:** IE/Opera:对象的实际宽度 = (margin-left) + width + (margin-right) Firefox/...Mozilla:对象的实际宽度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width...(10)鼠标的手势也有问题: FireFox的cursor属性不支持hand,但是支持pointer, IE两个都支持;所以为了兼容都用pointer (11)FireFox无法解析简写的padding

    20320

    大屏页面按需解决适配问题

    页面结构一个整页的静态背景图,一个头部标题图,中间六边形图,和下面会动的光圈(代码实现的旋转效果),六边形左右是四个树形图初版实现方式页面的头部很简单,背景图和标题水平居中,两个条件区域使用绝对定位靠左靠右分别处理根据...UI提供的切图,先把六边形图和下面的一个静态背景图和动态光圈位置固定为水平居中,调整上下边距,实现整体在屏幕中的位置相对合适基于六边形图的位置,把左右四个树形图定位上去最后把文字基于图片位置定位写上去就行了遇到的问题...,解决方案位置异常刚开始做完以后在PC屏幕上看着正常,在浏览器 tab 页签下看的效果,由于是大屏项目,使用F11全屏看了一下效果后,发现六边形这部分固定设置的 top 值,在全屏模式下导致整体内容太靠上了由于使用的绝对定位...把中间部分的内容全部放到 div 中,然后设置整个 div 水平垂直居中,这样整体效果不管是电脑屏幕,还是全屏模式看着都在中间位置了内容重叠笔记本上浏览右上角内容重叠了由于中间部分图片都是静态宽高,图片和文字的内容都是根据相对定位进行的处理...另外一个注意点,zoom 属性 Firefox 浏览器不支持,项目中使用技术栈要考虑用户实际使用场景zoom - CSS: Cascading Style Sheets | MDN (mozilla.org

    16511
    领券