CSS样式操作大全——常用情景篇,前端期末考试选择题

.wrap {

display: table-cell;

vertical-align: middle;

width: 1200px;

height: 800px;

background-color: aqua;

}

.content {

margin: 0 auto;

width: 200px;

height: 200px;

background-color: blueviolet;

}

1.4 使用flex居中布局


分析:使用flex,默认情况下,align-items:center垂直居中,ustify-content: center水平居中(主轴排列方式)

注意:需要考虑浏览器兼容性问题。

代码:

.wrap {

display: flex;

align-items: center;

justify-content: center;

width: 1200px;

height: 800px;

background-color: aqua;

}

.content {

width: 200px;

height: 200px;

background-color: blueviolet;

}

2、N列布局

======

2.1 两列布局


场景描述:两列布局,一列(比如左侧)是定宽,另外一列(右侧)自适应

定宽
自适应

方案1:左边元素浮动,定宽,右边元素设置margin-left

分析:左边元素设置浮动,定宽度,右边不设置浮动,右边元素的margin-left设置为左边元素宽度大小,可以实现效果。

代码:

.l, .r {

height: 600px;

}

.l {

width: 400px;

background-color: aqua;

float: left;

}

.r {

background-color: blueviolet;

margin-left: 400px;

}

方案2:左边元素浮动,定宽,右边元素设置overflow:hidden

分析:

注意:overflow:hidden的设置也使得右边元素内容超出隐藏。这里如果不设置overflow:hidden,右边元素的宽度是100%,有一部分被左边浮动元素盖住,不是我们要的结果,虽然看起来没什么区别。

.l, .r {

height: 600px;

}

.l {

width: 400px;

background-color: aqua;

float: left;

}

.r {

background-color: blueviolet;

overflow: hidden;

}

方案3:将左右元素用一个display:table的元素包裹,左右元素设置为display:table-cell

分析:这里主要是基于表格元素,在没有设置宽度时,会自动分配宽度来实现布局的。

注意:设置为表格后,在某些浏览器可能会受到表格本身特有行为的影响,比如表格边框等等。

定宽
自适应

方案4:felx布局

分析:父容器采用felx布局,左边元素定宽之后,右边元素因为只有一个,所以flex属性设置为不是0的正直,都会沾满剩余空间。

注意:浏览器兼容问题

定宽
自适应

2.2 三列布局


三列布局有三种情况,普通三列布局、圣杯布局、双飞翼布局(后两者都是实现两侧宽度固定,中间宽度自适应的三列布局,区别在于双飞翼布局比圣杯布局,中间元素会多个子元素,而左右元素需要定位relative)。

2.2.1 普通三列布局

左中两列定宽,右边自适应。

方案1:定宽+overflow:hidden

分析:原理类似于两列布局方案2

代码:

定宽
定宽
自适应

方案2:flex布局

定宽
定宽
自适应

2.2.2 圣杯布局

两侧宽度固定,中间宽度自适应的三列布局(中间元素不需要嵌套子元素

方案1:左右两侧浮动,中间元素使用margin

分析:这种方法就是左右两边浮动,给定宽度,中间元素使用margin空出左右两边元素的位置,实现比较简单。

注意:这种方式,需要在书写html结构时,将右侧元素写在中间元素的前面,因为如果右侧元素在中间元素后面,由于浮动元素位置上不能高于(或平级)前面的非浮动元素,导致右侧元素会下沉。但是,中间元素一般都是页面的核心部分,放在比较后面的位置,不利于SEO。

定宽
定宽
自适应

方案二. 父容器使用margin,左中右元素均浮动,利用定位和margin移动到正确位置

分析:这种方法将中间元素c放置在最前面,有利于SEO

注意:实现细节在参考下面代码中的注释。

自适应
定宽
定宽

2.2.3. 双飞翼布局

两侧宽度固定,中间宽度自适应的三列布局(中间元素内部增加子元素用于放置内容

方案一. 中间元素子元素设置margin,左中右元素均设置浮动,左右元素通过margin移动到正确位置

分析:这种方法为中间元素增加子元素作为内容区域,通过子元素设置margin完成。

注意:和圣杯布局对照,有相似处,也有不同,实现的结果是一样的。

自适应
定宽
定宽

2.2.4. flex布局实现(中间自适应,左右等宽)

分析:flex实现就很简单了,可以参照普通三列布局flex实现。

注意:还是要注意浏览器兼容性问题。

定宽
自适应
定宽

2.3 多列等分布局


所谓多列等分布局,就是若干列在容器中自适应等分宽度,我们以五列等分布局为例。

方案一. 浮动 + 百分数平分

分析:这种方案就是每一列浮动,之后按照百分比平分宽度,实现简单。

方案二. 使用**display: table布局**

分析:父容器指定display: table,设置布局行为table-layout: fixed,指定每个表格等宽。

注意:table-layout: fixed是需要设置的,默认情况下,列宽度由单元格内容设定,设置之后,列宽由表格宽度和列宽度设定

方案三. 使用column布局

分析:使用column布局,指定内容区域需要分为5列即可。

注意:浏览器兼容性问题。

方案四. 使用flex布局

分析:使用flex布局十分简单,指定每一列所占空间相同即可

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

前端校招面试题精编解析大全

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

、OPPO等大厂,18年进入阿里一直到现在。**

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-TDQM2isX-1712169433356)]
[外链图片转存中…(img-CeJ8tMgE-1712169433357)]
[外链图片转存中…(img-quB9WkBE-1712169433357)]
[外链图片转存中…(img-d0jJTVZt-1712169433357)]
[外链图片转存中…(img-c71LRXpQ-1712169433358)]
[外链图片转存中…(img-VnKCGz76-1712169433358)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-rwP2Y41r-1712169433358)]

最后

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

[外链图片转存中…(img-dkRE8L2n-1712169433359)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值