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

寒假提升 | Day10 CSS 第八部分

总结绝对定位的相对元素以及常见的解决方案 子绝父相 子元素绝对定位、 父元素相对定位 子绝父绝 子元素绝对定位 父元素绝对定位 子绝父固 子元素绝对定位 父元素固定定位 三....浮动,浮动元素的左(右)边界不能超出包含块的左(右)边界 浮动元素之间不能层叠 如果一个元素浮动,另一个浮动元素已经在那个位置了,后浮动的元素将紧贴着前一个浮动元素(左浮找左浮,右浮找右浮) 如果水平方向剩余的空间不够显示浮动元素...clear 属性可以指定一个元素是否必须移动(清除浮动后)到在它之前的浮动元素下面; clear的常用取值 left:要求元素的顶部低于之前生成的所有左浮动元素的底部 right:要求元素的顶部低于之前生成的所有右浮动元素的底部...认识flex布局 认识flexbox Flexbox翻译为弹性盒子: 弹性盒子是一种用于按行或按列布局元素的一维布局方法 ; 元素可以膨胀以填充额外的空间, 收缩以适应更小的空间; 通常我们使用Flexbox...比如使容器的所有子项等分可用宽度/高度,而不管有多少宽度/高度可用。 比如使多列布局中的所有列采用相同的高度,即使它们包含的内容量不同。

1.2K20

CSS实用技巧(中)

有个高频面试题,“如何使一个不定宽高div垂直水平居中?”,有的萌新竟然回答用vertical-align: middle。这个回答是减分的,至少在某种程度上给人一种感觉CSS基础比较薄弱。...平常我们用margin: 0 auto;之所以能够使块级元素水平居中,是因为水平方向元素存在剩余可用空间,而auto平分剩余可用空间,因此就产生居中效果。...而垂直方向不存在剩余可用空间,因此无法垂直居中。...上述demo,box-item之所以能够垂直居中,得益于top/bottom设置了值,使元素产生高度100%的外部尺寸,而width/height固定元素的内部尺寸,使得 外部尺寸高度-内部尺寸高度=元素剩余可用空间高度...,而auto等分剩余可用空间,可以使元素达到垂直居中效果。

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

    CSS理解之margin

    上图宽度从填满整个所在的容器到宽度500px,这就产生了剩余空间,图中的剩余空白部分空间width=整个容器宽度-500px,而margin auto 就是 为了填充这个空白的尺寸设计的,这就是margin...因为图片是inline水平的,它占据的空间并没有撑满整个容器,如果没有设置宽度值。所以它就不满足margin auto 用来填充剩余空间的条件,因为他根本就没有剩余空间。...很显然不满足,也就没有剩余空间,所以设置height:100px margin auto不会垂直居中。...那么如何实现垂直方向上的剧中呢,方法很多不止一种: 1.writing-mode与垂直居中: image.png 更改流为垂直居中之后,内容会自动撑满垂直方向的高度。...这时上图蓝色旁边的空间尺寸就是被强制更改的尺寸,也就是margin:auto可以用来分配的尺寸空间,此时在设置margin:auto空间就被重新分配了,从而就实现了绝对定位元素的水平和垂直居中效果。

    1.7K20

    建议收藏!总结了 42 种前端常用布局方案

    定位实现水平垂直居中方案(一) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 减去宽度/高度的一半 实现CSS代码如下: .parent { /* 1....属性来实现示例代码如下: .container { display: flex; } .right { flex: 1; /* flex: 1; 表示 flex-grow: 1; 即该项占所有剩余空间...实现CSS代码如下: .container { display: flex; } .right { flex: 1; /* flex: 1; 表示 flex-grow: 1; 即该项占所有剩余空间...如果页面内容不够长时,底部栏就会固定到浏览器的底部;如果足够长时,底部栏就后跟随在内容的后面。...为footer的高度 ; 底部栏绝对定位,并一直吸附在底部即可实现。

    4.2K30

    建议收藏!总结了42种前端常用布局方案

    定位实现水平垂直居中方案(一) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 减去宽度/高度的一半 实现CSS代码如下: .parent { /* 1....属性来实现示例代码如下: .container { display: flex; } .right { flex: 1; /* flex: 1; 表示 flex-grow: 1; 即该项占所有剩余空间...实现CSS代码如下: .container { display: flex; } .right { flex: 1; /* flex: 1; 表示 flex-grow: 1; 即该项占所有剩余空间...如果页面内容不够长时,底部栏就会固定到浏览器的底部;如果足够长时,底部栏就后跟随在内容的后面。...为footer的高度 ; 底部栏绝对定位,并一直吸附在底部即可实现。

    4.2K30

    CSS 基础系列:常见布局方式

    此时布局是这样的: image.png 给 left 和 right 设置绝对定位,让它们占据父元素的留白空间。...两种布局的对比: 优先加载主列。 三列浮动,配合负外边距形成三列布局 两种布局方式的主要区别在于如何处理主列,从而让其内容不被覆盖。...flex 只有一个值时,设置的是 flex-grow,代表弹性子元素对父元素剩余空间的分配,因为不设置的时候默认是 0,所以这里只有设置了 1 的主列参与分配剩余空间,从而实现宽度自适应。...撑不开高度),即父盒子由最高列撑开,其他两列不足高度的部分由 padding 填充。...5.粘连布局 内容区 main 高度足够长的时候,footer 紧跟在 main后面; 内容区 main 高度不够长的时候,footer 粘连在屏幕的底部 5.1 代码示例: div id="wrap

    1.8K20

    CSS StickyFooter——当内容不足一屏时footer紧贴底部

    所以这里我们来探讨下当内容不足一屏时footer也要紧贴底部的情况,因为比较难以描述,所以干脆使用了英文标题,要实现的效果如下: 第一个和第三个为正常不处理的情况,第二个和第三个是我们要实现的情况 ?...ie8+ 实现思路为:设置body最小高度为100%,相对定位,然后空出底部的高度,关键是要设置盒模型box-sizing为border-box或padding-box,最后将footer绝对定位在底部即可...*/ } .footer{ position: absolute; /* 将footer绝对定位在底部 */ left: 0; bottom: 0; width: 100%...主要思路是设置flex的方向为垂直方向,然后设置内容占满其余的空间 html代码如下: div class="header">div> div class="container...display: flex; /* 设置flex */ flex-direction: column; /* 方向为垂直方向 */ } .container{ flex: 1; /* 内容占满所有剩余空间

    1.8K70

    CSS StickyFooter——当内容不足一屏时footer紧贴底部

    所以这里我们来探讨下当内容不足一屏时footer也要紧贴底部的情况,因为比较难以描述,所以干脆使用了英文标题,要实现的效果如下: 第一个和第三个为正常不处理的情况,第二个和第三个是我们要实现的情况 ?...ie8+ 实现思路为:设置body最小高度为100%,相对定位,然后空出底部的高度,关键是要设置盒模型box-sizing为border-box或padding-box,最后将footer绝对定位在底部即可...*/ } .footer{ position: absolute; /* 将footer绝对定位在底部 */ left: 0; bottom: 0; width: 100%...主要思路是设置flex的方向为垂直方向,然后设置内容占满其余的空间 html代码如下: div class="header">div> div class="container...display: flex; /* 设置flex */ flex-direction: column; /* 方向为垂直方向 */ } .container{ flex: 1; /* 内容占满所有剩余空间

    1.2K10

    margin:auto实现水平垂直居中

    如果要问如何CSS实现绝对定位元素的居中效果,很多人心里已经有答案了。...当一个绝对定位元素,其对立定位方向属性同时有具体定位数值的时候,流体特性就发生了,例如: div class="box">div> .box { position: absolute; left...具有流体特性绝对定位元素的margin:auto的填充规则和普通流体元素一模一样: 如果一侧定值,一侧auto,auto为剩余空间大小; 如果两侧均是auto, 则平分剩余空间; : 例如,下面的CSS...“格式化宽度和格式化高度”,和div>的“正常流宽度”一样,同属于外部尺寸,也就是尺寸自动填充父级元素的可用尺寸的,然后,此时我们给.son设置尺寸,例如: .son { position:...因为,auto正好把上下左右剩余空间全部等分了,自然就居中啦!

    2.1K10

    CSS布局(二)

    class="top">div> div class="center">div> div class="bottom">div> 定位法 上中下盒子都设置绝对定位....center { top: 100px; bottom: 200px; background-color: blue; } flex布局 利用 flex: 1划分剩余空间的特性,并配合...分析以下原因:因为 main没有设置高度,且它的祖先元素 html、 body都没有设置高度,所以 main的高度就只有被上盒子和下盒子的高度撑开的那部分。既然如此,怎么可能还会有剩余空间呢?...这时候, main的高度就是屏幕高度,而中间占满剩余空间,也就是说中间自适应了。...flex布局可以通过子项目的属性 flex来设置平分剩余空间,只有一个属性没有设置宽( flex-direction: row)或高( flex-direction: column)的时候,就是占满剩余空间

    98730

    使用CSS实现底部固定广告Banner与自适应内容区域

    本篇文章将详细介绍如何使用纯CSS(不依赖JavaScript)来实现一个高度自适应的页面内容区域和一个始终固定在页面底部的广告Banner,同时确保两者不会重叠。...需求分析底部广告Banner:固定在页面底部,高度未知。页面内容区域:占据除广告Banner外的所有空间,支持滚动,高度自适应。无重叠:两个区域之间不能有任何重叠。...分配空间内容区域:使用flex: 1;属性,这会使内容区域自动扩展以填充所有可用空间(除了底部广告Banner所占用的空间)。底部广告Banner:不需要特别设置高度,因为它将根据其内容自动调整大小。...-->div>div class="bottom-component"> 底部广告Banner --> 底部组件 一些底部的信息......div>结论通过上述方法,我们可以实现一个高度自适应的页面内容区域和一个始终固定在页面底部的广告Banner,同时确保两者不会重叠。

    21210

    你不知道的margin:0 auto和margin:auto

    则会默认占据100%的宽度。...auto指平分剩余空间 比如上图中我父div宽度为200px,子div宽度为100px,则水平方向平分剩余宽度为(200-100)/2 我们知道margin:0 auto和margin:0 auto 0...; } #child{ height: 100px; width: 100px; background: red; margin: 0 auto 0 0; } 我们发现子div被移动到了一侧,上图子...divmargin:0 auto 0 0,只给了右边设置了auto相当于让右边自己平分剩余空间,即把父div的剩余空间全都给了右侧; 怎么实现垂直方向居中 为什么margin:auto不能实现在垂直方向上的居中呢...因为默认垂直方向上没有剩余空间 如果子元素设置了绝对定位且四边都设为0,子元素会填充整个父元素的所有剩余空间,auto就能平均分配水平和垂直方向的剩余空间了。

    1.5K10
    领券