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

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

div>高度永远是 0,哪怕其父级塞满了内容也是如此。...事实上,他需 要如下设置才行: html, body { height: 100%; } 并且仅仅设置也是不行的,因为此时的也没有具体的高度值: body {...例如,一个 div>元素里面有一张 vertical-align 为 bottom 同时高度为 192 像素的图片,此时,该div>高度就是 192 像素,假设此时插入一个子元素,高度设为 100%...但是,父元素 height 值是 auto,岂不是现在高度要从原来的 192 像素变成 384 像素,然后 height:100%的子元素高度又要变成 384 像素,父元素高度 又双倍……死循环了!...那问题又来了:为何宽度支持,高度就不支持呢?规范中其实给出了答案。如果包含 块的高度没有显式指定(即高度由内容决定),并且该元素不是绝对定位,则计算值为 auto。

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

    day008布局题:div垂直居中,左右10px,高度始终为宽度一半

    day008布局题:div垂直居中,左右10px,高度始终为宽度一半 问题描述: 实现一个div垂直居中, 其距离屏幕左右两边各10px, 其高度始终是宽度的50%。...答案是相对于 父元素的width值。 那么对于这个outwrapper的用意就很好理解了。...CSS呈流式布局,div默认宽度填满,即100%大小,给outwrapper设置margin: 0 10px;相当于让左右分别减少了10px。...父元素相对定位,那绝对定位下的子元素宽高若设为百分比,是相对谁而言的?...相对于父元素的(content + padding)值, 注意不含border 延伸:如果子元素不是绝对定位,那宽高设为百分比是相对于父元素的宽高,标准盒模型下是content, IE盒模型是content

    1.3K10

    css让div居中显示_css页面居中

    css中设置div元素居中显示的四种方法 一、先确定div的基本样式 二、具体实现方法 第一种:利用子绝父相和margin: auto实现 第二种:利用子绝父相和过渡动画tranform实现 第三种:同样是利用子绝父相和...class="warp"> div class="box">div> div> 二、具体实现方法 第一种:利用子绝父相和margin: auto实现 给父级div设置相对定位,子元素div...设置绝对定位,left、right、top、bottom都设置为0,然后将margin设置为auto即可实现。...实现 给父级div设置相对定位,子元素div设置绝对定位,将left、top设置为50%;然后设置transform: translate(-50%,-50%);即可实现。...display: flex;将父级div元素转为弹性盒,然后设置主轴对齐方式为居中 justify-content: center;,侧轴对齐方式为居中 align-items: center;即可实现

    12.5K50

    前端开发中各类型居中方式总结

    class="father"> div class="son">块级元素div> div> 注意:将子盒子转换成行内元素,子盒子内容的高度撑起了子盒子的高度,设置高度无用。...2.定位属性 首先设置父元素为相对定位,再设置子元素为绝对定位,设置子元素的 left:50%,即让子元素的左上角水平居中。...class="father"> div class="son">块级元素div> div> 此时,如果不设置高度和宽度,宽度将有子盒子内容撑开,高度和父盒子一致。...class="father"> div class="son">块级元素div> div> 水平垂直居中 _ 已知高度和宽度的元素 先设置子绝父相,然后给子元素设置:top: 0;...class="father"> div class="son">块级元素div> div> 未知高度和宽度的元素 1.子绝父相 设置父元素为相对定位,给子元素设置绝对定位,然后再给子元素设置属性

    83410

    CSS布局(二)

    div> div class="center"> 《绝园的暴风雨》(绝园のテンペスト)是城平京原作、左有秀构成、彩崎廉作画的日本漫画。...,即上面第一个子元素的高度 再添加 margin-bottom,值为 padding-bottom的负值,就会让父元素收缩成只有最高的子元素的高度 flex布局 因为flex布局,项目默认会拉伸为父元素的高度...当然,想让它不拉伸为父元素的高度也可以,只需要设置父元素 align-items来防止拉伸,因为 align-items是设置项目在侧轴的排列方式,默认值为 stretch,即会拉伸。...; background-color: purple; } 最后,实现中间自适应,只需要设置 top为上盒子的高度, bottom为下盒子的高度即可。...因为我们设置的 main盒子的高度为100%,也就是说当内容超过屏幕高度时就会溢出。

    1.4K30

    寒假提升 | Day10 CSS 第八部分

    总结绝对定位的相对元素以及常见的解决方案 子绝父相 子元素绝对定位、 父元素相对定位 子绝父绝 子元素绝对定位 父元素绝对定位 子绝父固 子元素绝对定位 父元素固定定位 三....清除浮动 浮动的问题 – 高度塌陷 由于浮动元素脱离了标准流,变成了脱标元素,所以不再向父元素汇报高度 父元素计算总高度时,就不会计算浮动子元素的高度,导致了高度坍塌的问题 解决父元素高度坍塌问题的过程...,一般叫做清浮动(清理浮动、清除浮动) 清浮动的目的是 让父元素计算总高度的时候,把浮动子元素的高度算进去 如何清除浮动呢?...清除浮动的方法 事实上我们有很多方法可以清除浮动 方法一: 给父元素设置固定高度 扩展性不好(不推荐) 方法二: 在父元素最后增加一个空的块级子元素,并且让它设置clear: both 会增加很多无意义的空标签...; flex item不再严格区分块级元素和行内级元素; flex item 默认情况下是包裹内容的, 但是可以设置宽度和高度; 设置 display 属性为 flex 或者 inline-flex 可以成为

    1.8K20

    CSS布局解决方案(居中布局)

    用法:对子框设置display:inline-block,对父框设置text-align:center。...:将子框设置为绝对定位,移动子框,使子框左侧距离相对框左侧边框的距离为相对框宽度的一半,再通过向左移动子框的一半宽度以达到水平居中。...当然,在此之前,我们需要设置父框为相对定位,使父框成为子框的相对框。...用法:对父框设置position:relative,对子框设置position:absolute,left:50%,transform:translateX(-50%)。...将子框设置为绝对定位,移动子框,使子框上边距离相对框上边边框的距离为相对框高度的一半,再通过向上移动子框的一半高度以达到垂直居中。当然,在此之前,我们需要设置父框为相对定位,使父框成为子框的相对框。

    2K20

    css中绝对定位_绝对定位和相对定位怎么用

    用途 1.微调元素位置 2.做绝对定位的参考(父相子绝) *{ padding: 0; margin: 0; } div{...父辈元素设置了相对定位,则子元素绝对定位以父辈元素为参考点。 父相子绝,父绝子绝,父固子绝,都是以父辈元素为参考点。父绝子绝,因为绝对定位脱离标准流,影响页面的布局。父相子绝是常用的布局方案。...margin: 0; } ul{ list-style: none; } a{ text-decoration: none; } body{ /*给body设置导航栏的高度...,一定一定要加top属性和left属性, 固定定位脱标,填充图片会被遮挡,设置body的padding之后导航栏会随之下移 固定定位以浏览器为参考,设置top和left之后定在浏览器顶部...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    3.5K30

    CSS flex样式垂直居中

    :语法篇 问题描述 由于div默认是没有高度的,如果设置了高度,默认是从左到右,从上到下的顺序来排布; 如果要做垂直居中,就需要计算div控件的高度,如果内容变多或者变少,又会导致定位不准确,因此,最稳妥的办法就是让浏览器自己去根据...div的高度居中显示 flex 个人理解 对子元素影响 设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。...它的默认值为auto,即项目的本来大小。 flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。...默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。 案例(水平垂直居中) 方法一(改变方向) div> div> align-items是针对子元素的垂直方向对齐方式,justify-content是针对子元素的水平方向对齐方式 发布者:全栈程序员栈长,

    1.4K10

    CSS-定位(position)

    # 相对定位relative(自恋型) 相对定位是将元素相对于它在标准流中的位置进行定位,当position属性的取值为relative时,可以将元素定位于相对位置。...,可以将元素的定位模式设置为绝对定位。...# 子绝父相 这个“子绝父相”太重要了,是我们学习定位的口诀。 子绝父相就是指子元素设置绝对定位,而父元素设置相对定位。...首先left 50%,top50%父盒子的一半大小。 然后外边距退回自己宽度及高度的一半值就可以了 。...当position属性的取值为fixed时,即可将元素的定位模式设置为固定定位。 当对元素设置固定定位后,它将脱离标准文档流的控制,始终依据浏览器窗口来定义自己的显示位置。

    2.1K10

    【Web APIs】JavaScript 操作元素 ⑥ ( 关闭对话框案例 | display 属性简介 | 页面标签结构和样式 | 盒子模型细节 | 绝对布局要点 - 设置负值即可超出父容器模型 )

    为 块级元素 ; 块级元素会在 新行上开始 , 并占据整行的宽度 ; 常见的块级元素有 div>、、 ; inline : 将元素 设置 为 行内元素 ; 行内元素 不会 开始新行...和 inline 行内元素 的 特性 ; 行内块元素 在行内显示 , 但可以设置宽度和高度 , 且元素不会换行 ; none : 隐藏元素 , 元素不会显示在页面上 , 且不占据任何空间 ; 该设置...× div> 外部的 div 标签 box 元素 设置为 100 x 100 像素 , 其样式如下 , 注意 要设置 相对布局 , 因为其子元素要使用绝对布局...; .close-btn { /* 绝对布局 父元素 相对布局 子绝父相 */ position: absolute;...; 5、绝对布局要点 - 设置负值即可超出父容器模型边框 如果 想要 将子元素 设置到 父容器 之外 , 父容器 使用 相对布局 , 子元素 使用 绝对布局 , 设置 上下左右 绝对布局值的时候 , 使用

    1.6K10

    【CSS3】CSS3 3D 转换示例 - 盒子模型翻转示例 ( 开启透视视图 | 设置过渡动画 | 设置 3D 呈现样式 | 鼠标移动到控件上方效果 | 设置两个子盒子模型背靠背效果 )

    , 那么 整个 三维空间 中 , 不管多远 , 显示的 标签盒子 大小都一样 ; 设置过渡动画 如果需要 为 3D 变换过程 设置过渡时间 , 只需要 在 父盒子 中设置 transition 属性即可...鼠标移动到 盒子模型上方时 , 会显示 .box:hover 样式 ; 设置两个子盒子模型背靠背效果 父容器中设置 相对定位 , 根据 子绝父相 原则 , 子盒子使用了绝对定位 , 父盒子就要使用相对定位...* 父盒子属性设置 */ /* 设置相对定位 子绝父相 子盒子使用了绝对定位 父盒子就要使用相对定位 */ position...; } .box { /* 父盒子属性设置 */ /* 设置相对定位 子绝父相...子盒子使用了绝对定位 父盒子就要使用相对定位 */ position: relative; /* 宽度 和 高度 200 像素 */

    90800

    【移动端网页布局】流式布局案例 ③ ( 实现搜索栏功能 | 伪元素选择器 | 子绝父相 | 外边距塌陷处理 | 二倍精灵图处理方案 )

    在调试模式下 , 该父容器的尺寸为 390 x 44 像素 , 该父容器的高度是 44 像素 ; 由于设备宽度不同 , 这里不设置宽度 , 让宽度自适应即可 ; css 样式实例 : .search-btn.../* 中间部位搜索栏盒子内容 */ /* 子绝父相 该容器的子容器需要绝对定位 因此父容器设置为相对定位 */ position: relative; /* 搜索框高度 30 像素...1 像素大小的 盒子实现 , 宽度 1 像素 , 高度 15 像素 , 背景为灰色 ; 可以通过 ::after 伪类插入上述盒子 , 使用绝对定位设置该盒子的位置 , 注意 子绝父相 , 子元素绝对定位...垂直居中 */ line-height: 44px; } .search { /* 中间部位搜索栏盒子内容 */ /* 子绝父相 该容器的子容器需要绝对定位 因此父容器设置为相对定位...垂直居中 */ line-height: 44px; } .search { /* 中间部位搜索栏盒子内容 */ /* 子绝父相 该容器的子容器需要绝对定位 因此父容器设置为相对定位

    3.7K30
    领券