HTML详解连载(8)

HTML详解连载(8)

专栏链接 link

下面进行专栏介绍

本专栏是自己学前端的征程,纯手敲的代码,自己跟着黑马课程学习的,并加入一些自己的理解,对代码和笔记

进行适当修改。希望能对大家能有所帮助,同时也是请大家对我进行监督,对我写的代码进行建议,互相学习。

开始喽

浮动-产品区域布局

清除浮动

场景

浮动元素会脱标,如果父级没有高度,子级无法撑开父级高度

解决方法

清除浮动(带来的影响)

清除浮动

方法一:额外标签发

在父元素内容的最后添加一个块级元素,设置CSS属性clear:both

方法二:单伪元素法

html 复制代码
.clearfix::after {
content:"";
display:block;
clear:both;
}

方法三:双伪元素法

html 复制代码
        .clearfix::before,
        .clearfix::after {
            content: "";
            display: table;
        }
        .clearfix::after {
            clear: both;
        }

方法四:overflow

父元素添加CSS属性 overflow:hidden

浮动-总结

浮动属性float,left表示左浮动,right表示右浮动

特点

浮动后的盒子顶对齐

浮动后的盒子具备行内块特点

父级宽度不够,浮动的子级会换行

浮动后的盒子脱标

清除浮动

子级浮动,父级没有高度,子级无法撑开父级高度,影响布局效果

双伪元素法

拓展

浮动本质作用是实现图文混排效果

Flex-认识

flex布局也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力。

flex模型不会产生浮动布局中脱标现象,布局网页更简单,更灵活

Flex-组成

设置方式:给父元素设置display:flex,子元素可以自动挤压或拉伸

组成部分:

弹性容器

弹性盒子

主轴:默认在水平方向

侧轴/交叉轴:默认在垂直方向

flex------沿着主轴方向排列

Flex布局

属性名

justify-content

属性值

属性 效果
flex-start 默认值,弹性盒子从起点开始依次排列
flex-end 弹性盒子从终点开始依次排列
center 弹性盒子沿主轴居中排列
space-between 弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子之间
space-around 弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧
space-evenly 弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

侧轴对齐方式

属性名

属性 效果
align-items 当前弹性容器内所有弹性盒子的侧轴对齐方式(给弹性容器设置)
align-self 单独控制某个弹性盒子的侧轴对齐方式(给弹性盒子设置)

属性值

属性 效果
stretch 弹性盒子沿着侧轴线被拉甚至铺满容器(弹性盒子没有设置侧轴方向尺寸 则默认拉伸)
center 弹性盒子沿侧轴居中排列
flex-start 弹性盒子从起点开始依次排列
flex-end 弹性盒子从终点开始依次排列

修改主轴方向

主轴默认在水平方向,侧轴默认在垂直方向

属性名

flex-direction

属性值

属性 效果
row 水平方向,从左向右(默认)
column 垂直方向,从上到下
row-reverse 水平方向,从右向左
column-reverse 垂直方向,从下到上

弹性伸缩比

作用

控制弹性盒子的主轴方向的尺寸

属性名

flex

属性值

整数数字,表示占用父级剩余尺寸的份数

弹性盒子换行

弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示

属性名

flex-wrap

属性值

属性 效果
wrap 黄行
nowrap 不换行(默认)

行对齐方式

属性名

align-content

属性值

属性 效果
flex-start 默认值,弹性盒子从起点开始依次排列
flex-end 弹性盒子从终点开始依次排列
center 弹性盒子沿主轴剧中排列
space-between 弹性盒子沿主轴均匀排列,空白间距均匀分布在弹性盒子之间
space-around 弹性盒子沿主轴均匀排列,空白间距均匀分布在弹性盒子两侧
space-evenly 弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

注意

行对其方式堆单行弹性盒子不生效

相关推荐
weixin_3954489111 分钟前
main.c_cursor_0129
前端·网络·算法
2401_859049081 小时前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
这是个栗子1 小时前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说1 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
熊猫钓鱼>_>2 小时前
动态网站发布部署核心问题详解
前端·nginx·容器化·网页开发·云服务器·静态部署
方也_arkling2 小时前
elementPlus按需导入配置
前端·javascript·vue.js
顾西爵霞2 小时前
个人学习主页搭建指南:从毛坯房到精装户型
学习·html
我的xiaodoujiao2 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 44--将自动化测试结果自动推送至钉钉工作群聊
前端·python·测试工具·ui·pytest
沛沛老爹2 小时前
Web开发者转型AI:多模态Agent视频分析技能开发实战
前端·人工智能·音视频
David凉宸2 小时前
vue2与vue3的差异在哪里?
前端·javascript·vue.js