首页
学习
活动
专区
圈层
工具
发布

从box-sizing:border-box属性入手,来了解盒模型

box-sizing属性用于更改用于计算元素的宽度和高度默认的CSS盒子模型,可以使用此属性来模拟不正确支持CSS盒子模型规范的游览器行为。...(6)框的高度 框的高度不遵守百分比的长度;框的高度总是采用框内容的高度,除非指定一个绝对的高度(如:px或者em),它会比在页面上默认是100%高度更实用。...; 那么最终呈现的效果是:当父容器在最小和最大宽度限制内时,它将填满整个视口宽度;当父容器超过1280px宽度时,布局将保持在1280px宽,并开始在可用空间内居中。...,图像开始溢流容器(因为它是一个固定的宽度)。...而max-width:100%限制了图像的宽度使它的最大宽度与父容器的宽度相等。因此,当父容器宽度缩小到小于图像的宽度时,图像会一起缩小。

8.2K11

那些不常见,但却非常实用的css属性(整理不易)

都随你便,自己定义 6、object-fit / object-position object-fit 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框。...fill 填满 图片会拉变形,宽度和高度都被拉到父容器的 100%,以适应父容器 object-fit: fill; ?...max-content 它的宽度或者高度,会自动调整为,刚刚好容纳下子元素中那个长度最长(按照文字不换行时计算)的元素即可。 参考的基准为子元素有多宽多高。...min-content 它的宽度或者高度,会自动调整为,刚刚好容纳下子元素中那个“最小宽度值”最大的元素即可,剩余超长的要么换行,要么溢出 参考的基准为子元素“最小宽度值”有多宽多高。...不同的是 max-content 在计算时按照文字不换行时计算,如果超过父元素,则不换行,直接产生滚动条;而 fit-content 在超过父元素后,换行,不产生滚动条。 ?

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

    从box-sizing:border-box属性入手,来了解盒模型

    box-sizing属性用于更改用于计算元素的宽度和高度默认的CSS盒子模型,可以使用此属性来模拟不正确支持CSS盒子模型规范的游览器行为。...,375px和414px尺寸下,显示的效果图: 二、盒模型的其他属性         (1)margin,padding设置为百分比形式: 给元素的内边距和外边距的各个边设置为5%...(6)框的高度             框的高度不遵守百分比的长度;框的高度总是采用框内容的高度,除非指定一个绝对的高度(如:px或者em),它会比在页面上默认是100%高度更实用。             ...,图像开始溢流容器(因为它是一个固定的宽度)。...而max-width:100%限制了图像的宽度使它的最大宽度与父容器的宽度相等。因此,当父容器宽度缩小到小于图像的宽度时,图像会一起缩小。

    2.3K20

    Web 技术:CSS最小和最大(宽度高度)知识点及优缺点

    初始width值为100px,并在其上加上min-width和max-width值。 结果是元素宽度未超过其包含的块/父元素的50%。...结果min-height值被设置为与内容一样长。 考虑以下示例: ? 用红色表示的文本应该在父文本中裁剪。因为面板主体是一个flex项目,所以它的min-height与它的内容相等。...如果没有固定的高度(不建议这样做),除非使用JavaScript,否则这是不可能的。 但是,对于max-height,这是可能的。...Hero 元素的最小高度 一般来说,我不喜欢给元素添加固定的高度。我觉得这样做,会破坏流式布局的结构。但有些情况设置固定高度却很有用。 考虑下面的例子,在这里我们有一个设置了固定高度的hero部分。...为了使其流畅,我们需要以下内容: 纵横比:高度/宽度 容器的宽度:可以是固定数字,也可以是动态数字(100%) 设置height为视口宽度的100%乘以纵横比 设置max-heigh,该高度是容器的宽度乘以纵横比

    7.8K20

    超越媒体查询:使用更新的特性进行响应式设计

    它可能会导致将高分辨率的大图像提供给非常小的屏幕,这是我们不希望看到的。...vw:相对于视口的宽度 vh:相对于视口的高度 rem:相对于根元素(html>)(默认字体大小通常为16px) em:相对于父元素 %:相对于父元素 同样,大多数浏览器的默认字体大小为16px,这是...rem使用根(html>)元素的字体大小计算值,而声明em值的元素引用包含它的父元素的字体大小。...如果指定的父元素的大小与根元素的大小不同(例如,父元素为18px,但根元素为16px),则em和rem将解析为不同的计算值。 这使我们可以更细粒度地控制元素在不同响应上下文中的响应方式。...vh是视口高度或可见屏幕高度的首字母缩写。 100vh代表视口高度的100%(取决于设备)。 同样,vw代表视口宽度,这意味着设备的可视屏幕宽度,而100vw则代表视口宽度的100%。

    5.2K10

    css布局 - 垂直居中布局的一百种实现方式(更新中...)

    上场: 二、父元素高度固定时,多行文本的垂直居中 1....帮多行文本找一个继父来领养他,让继父弥补父元素给他带来的伤害(行高和水平居中对齐的样式修改) 2. margin负边距简单处理一下底部小“裂痕” 三、父元素高度 不 固定时,单行文本 | 图片的绝对垂直居中...新增兄弟节点实力辅助,目标元素轻松上王者 四、父元素高度 不 固定时,多行文本的绝对垂直居中 1....请看下文如何不动声色且完美的解决这偏差的几像素。 三、父元素高度不固定,单行文本居中 既然父元素高度不固定,那肯定就没有line-height秀的机会了。...四、父元素高度不固定,多行文本居中  还是给文本生个小弟弟陪他玩耍: 主体元素inline-block化 0宽度100%高度辅助元素 vertical-align:middle 见第三条第二点

    4.3K10

    CSS深入理解学习笔记之overflow

    兼容性:     ①滚动条外观不同;     ②宽度设定机制不同。 ?     因为IE7下width宽度计算为整400px,然而垂直滚动条占用了部分宽度,所以出现了水平滚动条。...滚动条的宽度机制:     滚动条会占用容器的可用宽度或高度。 ?...原因:绝对定位元素不总是被父级overflow属性裁剪,尤其当overflow在就对定位元素及其包含块(含position:relative/absolute/fixed声明的父级元素,没有则是body...);ⅱoverflow子元素transform(支持IE9+/FireFox/Chrome/Safari/Opera)   overflow失效妙用:     菜单栏固定显示。...(2)锚点定位的本质     在页面可滚动容器中,通过锚链滚动到其对应的锚点元素,即改变容器的滚动高度。     前提:①容器可滚动;②锚点元素在容器内。

    5.4K50

    宝, 来学习一下CSS中的宽高比,让 h5 开发更想你的夜!

    当此盒式高度按比例调整为其宽度时,我们将有一个致宽尺寸的框。 考虑下图。 盒子被按比例调整大小,其宽度和高度之间的比例是一致的。...当标题有padding-top: 50%时,该值是根据其父元素的宽度来计算的。因为父元素的宽度是200px,所以padding-top会变成100px。...为了找出要使用的百分比值,我们需要将图像的高度除以宽度。得到的数字就是我们要使用的百分比。 假设图像宽度为260px,高度为195px。...注意到在中等尺寸下,固定高度的图片从左边和右边被裁剪得太厉害,而在手机上,它们又太宽。所有这些都是由于使用了固定高度的原因。我们可以通过不同的媒体查询手动调整高度,但这不是一个实用的解决方案。...另外,图片是绝对定位的,它有它的父元素的全部宽度和高度,有object-fit: cover,用于上传不同大小的图片的情况。请看下面的动图。 请注意,卡片大小的变化和缩略图的长宽比没有受到影响。

    2.5K30

    CSS3

    /img/tb.gif) no-repeat left center; ---- 元素显示模式 1、 块级元素block 独占一行(一行只能显示一个) 宽度默认是父元素的宽度,高度默认由内容撑开...,父盒子高度变化不固定。...解决 给父元素设置高度(脱裤子放屁,来回麻烦) (额外标签法):在父元素最后加个块级元素,给块级元素设置clear:both==>缺点:麻烦 (单伪元素清除法):在2的基础上,用伪元素替代额外标签,...margin-left: -(盒子宽度/2);/*负的盒子宽度的一半*/ /*垂直居中同理*/ top: 50%; margin-top: -(盒子高度/2);/*负的盒子高度的一半*/ 上面的方法仔细观察没办法满足盒子宽高为奇数的情况...> ---- overflow溢出部分显示效果 如下图,当盒子为固定高度,但里面的内容过多就会出现内容溢出情况。

    1.4K90

    【面试题】104道 CSS 面试题,助你查漏补缺(下)

    (2)内联元素的高度由固定高度和不固定高度组成,这个不固定的部分就是这里的“行距”。换句话说,line-height之所以起作 用,就是通过改变“行距”来实现的。...相关资料: /*三栏布局一般指的是页面中一共有三栏,左右两栏宽度固定,中间自适应的布局,一共有五种实现方式。 这里以左边宽度固定为100px,右边宽度固定为200px为例。...,左右两栏设置固定大小,并设置对应方向的浮动。...这里以左边宽度固定为100px,右边宽度固定为200px为例。 (1)利用绝对定位的方式,左右两栏设置为绝对定位,中间设置对应方向大小的margin的值。...(2)利用flex布局的方式,左右两栏的放大和缩小比例都设置为0,基础大小设置为固定的大小,中间一栏设置为auto。 (3)利用浮动的方式,左右两栏设置固定大小,并设置对应方向的浮动。

    3K40

    前端基础篇css

    ,值越大速度越快 宽高自适应 一、宽度自适应 语法:width:100%; 注:给元素设置宽度100%将会继承父元素的宽度 块状元素默认宽度为100% 注:宽度自适应主要应用在通栏效果中 二、高度自适应...需要将元素转换为内联块状元素 4.最大宽度 语法:max-width:数值+单位; 注:以上四组属性IE6及以下版本浏览器都不识别 四、高度塌陷问题 描述:父元素高度自适应,子元素float后,导致父元素高度为...0称为高度塌陷问题 a)给父元素一个固定的高度 父元素{height:value;} 缺点:给父元素固定的高度违背了高度自适应的原则,不建议使用 b) 给父元素添加overflow:hidden; 优点...;} 注:窗口高度自适应主要应用于内容不满一屏或者没有内容body和html高度为0的情况 八、水平居中 1.如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置text-align:center...important; height:100px; 6.图片默认有空隙 解决方案: a)给img设置display:block; b)给img设置float属性 7.百分比bug 描述:父元素宽度100%

    2.5K30

    104道 CSS 面试题,助你查漏补缺(下)

    (2)内联元素的高度由固定高度和不固定高度组成,这个不固定的部分就是这里的“行距”。换句话说,line-height之所以起作 用,就是通过改变“行距”来实现的。...相关资料: /*三栏布局一般指的是页面中一共有三栏,左右两栏宽度固定,中间自适应的布局,一共有五种实现方式。 这里以左边宽度固定为100px,右边宽度固定为200px为例。...,左右两栏设置固定大小,并设置对应方向的浮动。...这里以左边宽度固定为100px,右边宽度固定为200px为例。 (1)利用绝对定位的方式,左右两栏设置为绝对定位,中间设置对应方向大小的margin的值。...(2)利用flex布局的方式,左右两栏的放大和缩小比例都设置为0,基础大小设置为固定的大小,中间一栏设置为auto。 (3)利用浮动的方式,左右两栏设置固定大小,并设置对应方向的浮动。

    2.9K30

    「译」前端项目中常见的 CSS 问题

    将会在不扩展列宽度的情况下对它们进行排列,而auto-fit 则会在存在空列的时候使其宽度塌陷为 0。...Sara Soueidan 写了一篇不错的文章讨论过这个问题。 8. 当视窗高度不足时将元素固定在屏幕顶部 如果你在视窗不够高的时候将一个元素固定在屏幕顶部,会发生什么事呢?...使用伪元素 无论何时,我都很喜欢使用伪元素。伪元素为我们提供了一种创建假元素的方法,主要用来装饰,同时又无需将其添加到 HTML 中。...交互式 HTML 元素的字体不生效 给整个文档设置字体的时候,字体并不会应用于诸如 input, button select 和 textarea 这些元素上。...一些图片必须在不裁剪或者不调整大小的情况下显示,并且某些平台会强制用户以特定的尺寸裁剪或上传图片。例如,Dribbble 规定上传的缩略图尺寸为 800 x 600 像素。 18.

    2.9K10

    css div高度设置100%如何生效!

    div { width: 100%; /* 这是多余的 */ height: 100%; /* 这是无效的 */ background: url(bg.jpg); } 然后他发现这个...1.为何 height:100%无效 有一种看似合理的说法:如果父元素 height:auto 子元素还支持 height:100%,则 父元素的高度很容易陷入死循环,高度无限。...例如,一个 元素里面有一张 vertical-align 为 bottom 同时高度为 192 像素的图片,此时,该高度就是 192 像素,假设此时插入一个子元素,高度设为 100%...例如,在下面这个例子中,父元素采用“最大宽度”,然后有一个 inline-block 子元素宽度 100%: img src="1.jpg"> 父元素的时候,子元素的 width:100%并没有渲染,宽度就是图片加文字内容的宽度;等渲染到文字这个子元素的时候, 父元素宽度已经固定,此时的 width:100%就是已经固定好的父元素的宽度

    7.5K00

    CSS基础

    毫无疑问,如果去掉子元素的height,就会发先子元素的高度为0,故height是不会为100%的,一般我们都是通过添加内容(子元素)将父元素撑起来。...如果内联元素是可替换元素(img,input,本身可以设置长和宽),不管怎么设置父元素的宽度和高度,而不设置img的宽和高时,img总是表现为其原始的宽和高。 宽度,但是表现在浏览器上为160px,它并没有继承父元素的100%得到500px,而是根据既定的高度来等比例缩小宽度。  ...如果我们把img的width设置为100%,就可以发现其宽度这时就和父元素的宽度一致了。...而我们一般的做法时,首先确定img的父元素的宽度和高度,然后再将img的宽度和高度设置位100%,这样,图片就能铺满父元素了。 后台管理布局 <!

    2.8K70

    理解CSS3中的background-size(对响应性图片等比例缩放)

    如果只设置第一个值,那么第二个值会自动转换为 “auto”; 二:percentage 该属性是以父元素的百分比来设置图片的宽度和高度的,第一个值是宽度,第二个值是高度。...固定宽度400px和高度200px-使用background-size:100% 100%的缩放设置 HTML代码如下: 固定宽度400px和高度200px-使用background-size:...如下HTML代码: 给图片设置属性宽度为100%的情况下,可自适应图片 img src="http://images2015.cnblogs.com...,那么设置她们的width属性为100%;img src=”” width=”100%”/> 的话,高度就会等比例缩放,这是图片,但是如果是背景图片呢?...padding-top这么一个属性来设置了; 实现的基本原理:将使用到保持元素的宽高比的技巧,为元素添加垂直方向的padding-top的值,使用百分比的形式,这个值是相对于元素的宽而定的,比如我上面的一张图片的宽度是

    4.9K20

    css属性及定位操作

    解决方案一:使用固定高度 给.container设置固定高度,一般情况下文字内容不确定多少就不能设置固定高度,所以一般不能设置“.container”高度(当然能确定内容多高,这种情况下“.container...或者给.container加一个固定高度的子div: 固定高度解决方案(不推荐使用) 以上方案可以解决但是会使得页面操作不灵活 不推荐使用 解决方案二 清除浮动(推荐使用) clear语法:...absolute(绝对定位) 定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。...重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。...这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left

    3.3K50

    【移动端网页布局】流式布局案例 ⑤ ( 连续排列的链接图片 | 设置盒子圆角 | 超出部分隐藏 | 设置浮动布局 | 精确计算浮动元素宽度避免换行 | 设置图片宽度自适应 )

    , 并且中间没有缝隙 , 说明这是使用 浮动 进行设置的 , 为父容器的三个子元素都设置 左浮动 , 就可以实现上述效果 ; 设置浮动后 , 还需要设置子元素的宽度 , 如果子元素横向累加宽度超过 当前宽度.../ width: 33.33%; } 5、设置图片宽度自适应 上述布局中 , 图片自动充满父容器 , 为 img> 标签设置 100% 宽度 , 设置图片后 , 会按照宽高比等比例缩放 ;...设置样式为 : .brand div img { /* 设置图片链接中的图片 在水平方向上充满父容器即可 */ width: 100%; } 二、完整代码实例 ---- 1、HTML 标签结构...nth-child(2) img { /* 在 10% 宽度的 Logo 盒子中 图片的宽度是 30 像素 高度没有给出 但是 宽高等比例缩放 高度也是 30 像素 */...: hidden; /* 搜索栏宽度充满全屏 */ width: 100%; /* 搜索栏的高度为 44 像素 */ height: 44px; /* 搜索栏最小宽度

    4.8K20

    一篇文章搞定多列布局--等宽,等高,自适应

    table 我们还可以用table来实现,父级设置display为table,那他的宽度就是内容的宽度,所以我们需要手动指定宽度为100%。...两个子级设置display为table-cell,这样他们其实就相当于table的两个单元格。由于我们要固定左边的宽度,父级table应该使用布局优先,即table-layout: fixed;。...假如父级元素总宽度为500px, 子元素A, B, C三个元素的flex-grow分别为1, 2, 2,那他们的宽度比例为1:2:2,三个元素最终的宽度为100px, 200px, 200px; flex-shrink...假如父级元素总宽度为500px,现在有A, B, C, D, E五个子元素,他们的flex-shrink分别为1, 1, 1, 2, 2,他们的flex-basis都是120px。...计算可知,五个子元素总宽度为120 * 5 = 600px,超出了父级100px,所以需要对子元素进行收缩。

    3.7K10
    领券