首页
学习
活动
专区
工具
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.4K40
您找到你想要的搜索结果了吗?
是的
没有找到

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.1K30

建议收藏!总结了 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.1K30

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

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

1.7K20

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="container...display: flex; /* 设置flex */ flex-direction: column; /* 方向为垂直方向 */ } .container{ flex: 1; /* 内容占满所有剩余空间

1.7K70

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="container...display: flex; /* 设置flex */ flex-direction: column; /* 方向为垂直方向 */ } .container{ flex: 1; /* 内容占满所有剩余空间

1.2K10

margin:auto实现水平垂直居中

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

2K10

你不知道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.4K10

CSS样式

background-color 设置背景颜色 background-image 设置背景图片 background-position 设置背景图片显示位置 background-repeat 设置背景图片如何填充...、对齐和分配空白空间 弹性盒子只定义了弹性子元素如何在弹性容器内布局 CSS3弹性盒内容: 弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成 弹性容器通过设置...(如果剩余自由空间是负,则弹性项目将在两个方向上同时溢出) align-items 属性:align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上对齐方式 align-items: flex-start...(如果该行尺寸小于弹性盒子元素尺寸,则会向两个方向溢出相同长度) 子元素上属性 flex:flex 根据弹性盒子元素所设置扩展因子作为比率来分配剩余空间 <div class="flex-container.../空间;标准流里面的限制非常多,导致很多页面效果无法实现 高矮不齐,底边对齐 空白折叠现象 无论多少个空格、换行、tab,都会折叠为一个空格 如果我们想让img标签之间没有空隙,必须紧密连接 使

23630

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

CSS 定位 它可能不是分隔元素直接方式,但它在某些设计案例中发挥作用。 例如,一个绝对定位元素,需要从其父元素左边缘和上边缘定位 16px。...更好解决方案是通过向父元素添加负边距来取消不需要间距。 .wrapper { margin-bottom: -16px; } 这就是发生事情, 它将元素推到底部,其值等于底部间距。...-- content --> Card Component 为了使它们看起来不错...我在检查 Facebook 新设计 CSS 时,首先注意到了这一点。 我们将内联样式div设置为width :16px, 它唯一目的是在左边缘和包装器之间添加一个空间。...以下是我想到一些问题: 间隔组件如何在父组件中获取其宽度或高度?它将如何在水平和垂直布局中工作?例如:堆栈内间隔符与添加左侧空间间隔符。

13.4K40
领券