前端 | ( 十三)CSS3简介及基本语法(下)| 伸缩盒模型 | 尚硅谷前端html+css零基础教程2023最新

学习来源:尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频


系列笔记

  • 【HTML4】(一)前端简介
  • 【HTML4】(二)各种各样的常用标签
  • 【HTML4】(三)表单及HTML4收尾
  • 【CSS2】(四)CSS基础及CSS选择器
  • 【CSS2】(五)CSS三大特性及常用属性
  • 【CSS2】(六)CSS盒子模型
  • 【CSS2】(七)浮动
  • 【CSS2】( 八)定位与布局
  • 【实操】( 九)尚品汇实操练习
  • 【HTML5】( 十)HTML5简介及相关新增属性
  • 【CSS3】( 十一)CSS3简介及基本语法(上)| 相关新增属性
  • 【CSS3】( 十二)CSS3简介及基本语法(中)| 变换、过渡与动画
  • 【CSS3】 (十三)CSS3简介及基本语法(下)| 伸缩盒模型

文章目录

  • 📚伸缩盒模型
    • 🐇伸缩盒模型简介
    • 🐇伸缩容器、伸缩项目
    • 🐇主轴方向
    • 🐇主轴换行方式
    • 🐇flex-flow
    • 🐇主轴对齐方式
    • 🐇侧轴对齐方式
    • 🐇flex实现水平垂直居中
    • 🐇伸缩性
    • 🐇flex复合属性
    • 🐇项目排序和单独对齐(了解)
    • 🐇案例
  • 📚相应式布局
  • 📚BFC

⭐️前文回顾:前端 | ( 十二)CSS3简介及基本语法(中)| 变换、过渡与动画 | 尚硅谷前端html+css零基础教程2023最新
⭐️前文对应p178-p183,本文对应p183-p200
⭐️补充网站:W3school,MDN

📚伸缩盒模型

🐇伸缩盒模型简介

在这里插入图片描述

🐇伸缩容器、伸缩项目

在这里插入图片描述


  • 主轴: 伸缩项目沿着主轴排列,主轴默认是水平的,默认方向是:从左到右(左边是起点,右边是终点)。
  • 侧轴: 与主轴垂直的就是侧轴,侧轴默认是垂直的,默认方向是:从上到下(上边是起点,下边是终点)。

🐇主轴方向

在这里插入图片描述

🐇主轴换行方式

在这里插入图片描述

🐇flex-flow

在这里插入图片描述

🐇主轴对齐方式

在这里插入图片描述
在这里插入图片描述

🐇侧轴对齐方式

  • 一行的情况
    在这里插入图片描述
    在这里插入图片描述

  • 多行的情况
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

🐇flex实现水平垂直居中

方法一:父容器开启 flex 布局,随后使用 justify-contentalign-items 实现水平垂直居中

.outer {width: 400px;height: 400px;background-color: #888;display: flex;justify-content: center;align-items: center;
}
.inner {width: 100px;height: 100px;background-color: orange;
}

方法二:父容器开启 flex 布局,随后子元素 margin: auto

.outer {width: 400px;height: 400px;background-color: #888;display: flex;
}
.inner {width: 100px;height: 100px;background-color: orange;margin: auto;
}
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>元素水平垂直居中</title><style>.outer {width: 400px;height: 400px;background-color: #888;display: flex;/* 方案一 *//* justify-content: center; *//* align-items: center; */}.inner {width: 100px;height: 100px;background-color: orange;/* 方案二 */margin: auto;}</style>
</head>
<body><div class="outer"><div class="inner"></div></div>
</body>
</html>

在这里插入图片描述

🐇伸缩性

在这里插入图片描述

.inner {/* 设置伸缩项目在主轴上的基准长度,若主轴是横向的宽失效,若主轴是纵向的高失效 */flex-basis: 300px;
}

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>伸缩项目_伸</title><style>.outer {width: 1000px;height: 900px;background-color: #888;margin: 0 auto;/* 伸缩盒模型相关属性-start *//* 将该元素变为了伸缩容器(开启了flex布局) */display: flex;/* 调整主轴方向,水平从左到右,默认 */flex-direction: row;/* 主轴换行方式,换行 */flex-wrap: wrap;/* 主轴的对齐方式,主轴的起始位置 */justify-content: flex-start;}.inner {width: 200px;height: 200px;background-color: skyblue;border: 1px solid black;box-sizing: border-box;flex-grow: 0;}/* 瓜分比例:1/6 */.inner1 {flex-grow: 1;}/* 1/3 */.inner2 {flex-grow: 2;width: 300px;}/* 1/2 */.inner3 {flex-grow: 3;}</style>
</head>
<body><div class="outer"><div class="inner inner1">1</div><div class="inner inner2">2</div><div class="inner inner3">3</div></div>
</body>
</html>

在这里插入图片描述


这里是引用

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>伸缩项目_缩</title><style>.outer {width: 400px;height: 900px;background-color: #888;margin: 0 auto;/* 伸缩盒模型相关属性-start *//* 将该元素变为了伸缩容器(开启了flex布局) */display: flex;/* 调整主轴方向,水平从左到右,默认 */flex-direction: row;/* 主轴换行方式,换行 *//* 想缩就别说这玩意,不然直接就换行处理了 *//* flex-wrap: wrap; *//* 主轴的对齐方式,主轴的起始位置 */justify-content: flex-start;/* 侧轴的对齐方式 */align-content: flex-start;}.inner {width: 200px;height: 200px;background-color: skyblue;/* border: 1px solid black; *//* box-sizing: border-box; */flex-grow: 1;}.inner1 {flex-shrink: 1;}.inner2 {flex-shrink: 2;width: 300px;}.inner3 {flex-shrink: 3;}</style>
</head>
<body><div class="outer"><div class="inner inner1"><!-- 缩的下限就是保证内容的呈现 --><div style="width: 50px;height:50px;background-color: green;">1</div></div><div class="inner inner2">2</div><div class="inner inner3">3</div></div>
</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

带上边框,浏览器计算的时候会有一些误差。实际应用shrink默认就是1,就不写了。简化!

🐇flex复合属性

在这里插入图片描述

🐇项目排序和单独对齐(了解)

  • order 属性定义项目的排列顺序。数值越小,排列越靠前,默认为 0 。
  • 通过 align-self 属性,可以单独调整某个伸缩项目的对齐方式
  • 默认值为 auto ,表示继承父元素的align-items属性。
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>项目排序与单独对齐</title><style>.outer {width: 600px;height: 900px;background-color: #888;margin: 0 auto;/* 伸缩盒模型相关属性-start *//* 将该元素变为了伸缩容器(开启了flex布局) */display: flex;/* 调整主轴方向,水平从左到右,默认 */flex-direction: row;/* 主轴换行方式,换行 *//* flex-wrap: wrap; *//* 主轴的对齐方式,主轴的起始位置 */justify-content: flex-start;/* 侧轴的对齐方式 */align-content: flex-start;}.inner {width: 200px;height: 200px;background-color: skyblue;border: 1px solid black;box-sizing: border-box;/* 可以拉伸 可以压缩 设置基准长度为0,可简写为:flex:1 */flex: 1 1 0;}.inner1 {order: 3;}.inner2 {order: 2;}.inner3 {order: 1;}.inner2 {align-self: center;}</style>
</head>
<body><div class="outer"><div class="inner inner1">1</div><div class="inner inner2">2</div><div class="inner inner3">3</div></div>
</body>
</html>

在这里插入图片描述

🐇案例

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>尚硅谷官网</title><style>* { font-family: Arial; font-size: 14px; margin: 0; padding: 0; border: none; }a { text-decoration: none; }ul { list-style: none; }html,body {width: 100%;height: 100%;}body {/* 背景铺满 */background-image: url('../images/bg.jpg');/* 背景图不重复 */background-repeat: no-repeat;/* 当图片和背景不适配时的最优解 */background-size: cover;}.page-header {height: 70px;/* 需要设置透明度 */background-color: rgba(0, 0, 0, 0.7);/* 设置伸缩盒子 */display: flex;/* 主轴两边定格 */justify-content: space-between;/* 侧轴对齐方式 */align-items: center;padding: 0 20px;}.header-nav {display: flex;}.header-nav li a {color: white;font-size: 20px;border: 1px solid white;/* 圆角8px */border-radius: 8px;padding: 10px;margin-right: 20px;}.header-nav li:last-child a {margin-right: 0;}.page-content {display: flex;/* calc进行数值计算 */height: calc(100vh - 70px);}.content-nav {width: 1000px;height: 300px;/* 垂直居中 */margin: auto;display: flex;/* 主轴对齐方式:均分 */justify-content: space-evenly;/* 侧轴 */align-items: center;}.content-nav .item {width: 180px;height: 200px;background-color: orange;display: flex;/* 转换主轴 */flex-direction: column;/* 侧轴 */align-items: center;/* 主轴均分 */justify-content: space-evenly;transition: 0.2s linear;cursor: pointer;}.content-nav .item:hover {/* 边框阴影 */box-shadow: 0px 0px 20px black;}.content-nav .item span {font-size: 20px;color: white;}.content-nav .item:nth-child(1) {background-color:#595CA8;}.content-nav .item:nth-child(2) {background-color:#FF9D2E;}.content-nav .item:nth-child(3) {background-color:#01A6DE;}.content-nav .item:nth-child(4) {background-color:#015E91;}.content-nav .item:nth-child(5) {background-color:#1DC128;}</style>
</head>
<body><!-- 头部 --><header class="page-header"><a href="#"><img src="../images/logo.png" alt="logo"></a><ul class="header-nav"><li><a href="#">国内校区</a></li><li><a href="#">澳洲校区</a></li><li><a href="#">英国校区</a></li><li><a href="#">美国校区</a></li></ul></header><!-- 内容区 --><div class="page-content"><div class="content-nav"><div class="item"><img src="../images/item1.png" alt=""><span>我的邮箱</span></div><div class="item"><img src="../images/item2.png" alt=""><span>云服务</span></div><div class="item"><img src="../images/item3.png" alt=""><span>手机课堂</span></div><div class="item"><img src="../images/item4.png" alt=""><span>微信服务</span></div><div class="item"><img src="../images/item5.png" alt=""><span>在线客服</span></div></div></div>
</body>
</html>

在这里插入图片描述

📚相应式布局

在这里插入图片描述

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>01_媒体查询_媒体类型</title><style>h1 {width: 600px;height: 400px;line-height: 400px;background-image: linear-gradient(30deg,red,yellow,green);margin: 0 auto;text-align: center;font-size: 100px;color: white;text-shadow: 0 0 10px black;}/* 只有在打印机或打印预览才应用的样式 */@media print {h1 {background: transparent;}}/* 只有在屏幕上才应用的样式 */@media screen {h1 {font-family: "翩翩体-简";}}/* 一直都应用的样式 */@media all {h1 {color: red;}}</style>
</head>
<body><h1>新年快乐</h1>
</body>
</html>

在这里插入图片描述

打印视图在这里插入图片描述


在这里插入图片描述
完整列表参考

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>媒体查询_媒体特性</title><style>* {margin: 0;padding: 0;}h1 {height: 200px;background-color: gray;text-align: center;line-height: 200px;font-size: 100px;}/* 检测到视口的宽度为800px时,应用如下样式 */@media (width:800px) {h1 {background-color: green;}}/* 检测到视口的宽度小于等于700px时,应用如下样式 */@media (max-width:700px) {h1 {background-color: orange;}}/* 检测到视口的宽度大于等于900px时,应用如下样式 */@media (min-width:900px) {h1 {background-color: deepskyblue;}}</style>
</head>
<body><h1>你好啊</h1>
</body>
</html>

这里是引用

📚BFC

在这里插入图片描述


更加通俗的理解:

  1. BFCBlock Formatting Context (块级格式上下文),可以理解成元素的一个“特异功能”。
  2. 该 “特异功能”,在默认的情况下处于关闭状态;当元素满足了某些条件后,该“特异功能”被激活
  3. 所谓激活“特异功能”,专业点说就是:该元素创建了 BFC (又称:开启了 BFC )。
    在这里插入图片描述

  1. 元素开启 BFC 后,其子元素不会再产生 margin 塌陷问题
  2. 元素开启 BFC 后,自己不会被其他浮动元素所覆盖
  3. 元素开启 BFC 后,就算其子元素浮动,元素自身高度也不会塌陷

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/7108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务保护——Sentinel【实战篇二】

一、线程隔离 &#x1f349; 线程隔离有两种方式实现&#xff1a; 线程池隔离信号量隔离&#xff08;Sentinel默认采用&#xff09; 线程隔离&#xff08;舱壁模式&#xff09;&#x1f95d; 在添加限流规则时&#xff0c;可以选择两种阈值类型&#xff1a; QPS&#xff1a;…

SpringBoot-4

Spring Boot 使用 slf4j 日志 在开发中经常使用 System.out.println()来打印一些信息&#xff0c;但是这样不好&#xff0c;因为大量的使用 System.out 会增加资源的消耗。实际项目中使用的是 slf4j 的 logback 来输出日志&#xff0c;效率挺高的&#xff0c;Spring Boot 提供…

如何用3D格式转换工具HOOPS Exchange读取颜色和材料信息?

作为应用程序开发人员&#xff0c;非常希望导入部件的图形表示与它们在创作软件中的外观尽可能接近。外观可以在每个B-Rep面的基础上指定&#xff0c;而且&#xff0c;通过装配层次结构的特定路径可以在视觉外观上赋予父/子覆盖。HOOPS ExchangeHOOPS Exchange可捕获有关来自各…

新零售数字化商业模式如何建立?新零售数字化营销怎么做?

随着零售行业增速放缓、用户消费结构升级&#xff0c;企业需要需求新的价值增长点进行转型升级&#xff0c;从而为消费者提供更为多元化的消费需求、提升自己的消费体验。在大数据、物联网、5G及区块链等技术兴起的背景下&#xff0c;数字化新零售系统应运而生。 开利网络认为&…

让GPT人工智能变身常用工具-上

1.密码生成器:GPT为您创建安全密码 想象GPT作为您的个人密码生成器,负责从头到尾为您创建复杂且安全的密码。您只需要告诉他您的密码需求,比如密码的长度,是否包含大写字母、小写字母、数字或特殊字符,他会立即为您生成一个复杂但经过深度设计的密码。 例子: 我希望您…

Python 单继承、多继承、@property、异常、文件操作、线程与进程、进程间通信、TCP框架 7.24

单继承 class luban:def __init__(self, name):self.name nameself.skill "摸鱼飞弹"self.damageLevel 20def attack(self):print("{} 使用了技能{} &#xff0c;给敌方带来了极大的困扰\n""并有{}% 的机会造成一击必杀的效果".format(self.…

Docker介绍以及实战教程

Docker简介 Docker为什么出现 从事软件开发的朋友&#xff0c;可能经常会碰到以下场景&#xff1a;运维&#xff1a;你这程序有Bug啊&#xff0c;怎么跑不起来啊&#xff01;开发&#xff1a;我机子上能跑啊&#xff0c;你会不会用啊究其原因还是开发环境与生产环境不同造成的…

【java安全】RMI

文章目录 【java安全】RMI前言RMI的组成RMI实现Server0x01 编写一个远程接口0x02 实现该远程接口0x03 Registry注册远程对象 Client 小疑问RMI攻击 【java安全】RMI 前言 RMI全称为&#xff1a;Remote Method Invocation 远程方法调用&#xff0c;是java独立的一种机制。 RM…

SoapUI、Jmeter、Postman三种接口测试工具的比较分析

前段时间忙于接口测试&#xff0c;也看了几款接口测试工具&#xff0c;简单从几个角度做了个比较&#xff0c;拿出来与诸位分享一下。本文从多个方面对接口测试的三款常用工具进行比较分析&#xff0c;以便于在特定的情况下选择最合适的工具&#xff0c;或者使用自己编写的工具…

12.(开发工具篇vscode+git)vscode 不能识别npm命令

1&#xff1a;vscode 不能识别npm命令 问题描述&#xff1a; 解决方式&#xff1a; &#xff08;1&#xff09;右击VSCode图标&#xff0c;选择以管理员身份运行&#xff1b; &#xff08;2&#xff09;在终端中执行get-ExecutionPolicy&#xff0c;显示Restricted&#xff…

【主成分分析(PCA)】

主成分分析&#xff08;PCA&#xff09; 摘要 在现代数据科学中&#xff0c;维度灾难常常是数据处理与分析的一大难题。主成分分析&#xff08;PCA&#xff09;是一种广泛使用的数据降维技术&#xff0c;它通过将原始数据转换为新的低维空间&#xff0c;保留最重要的信息&…

C国演义 [第十一章]

第十一章 有效的字母异位词题目理解代码 两数之和题目理解(暴力篇)代码题目理解(哈希篇)代码 有效的字母异位词 力扣链接 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;…

git常用命令

git安装后-指定名称和邮箱 $ git config --global user.name “Your Name” $ git config --global user.email “emailexample.com” 本地初始化GIT 仓库: #基于远程仓库克隆至本地 git clone <remote_url> #当前目录初始化为git 本地仓库 git init “directory” 把文…

Linux:多进程和多线程回环socket服务器和客户端

多进程socket服务器代码&#xff1a; #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h> #include <ctype.h> #include <sys/wait.h> #i…

Facebook Messenger市场营销,跨境电商不可忽略的营销手段

营销始于广告。广告仍然是不可或缺的&#xff0c;但广告的方式正在发生变化。以前商家会使用广告邮件或者直接转到网站上的产品页面&#xff0c;但是这两种方法都存在很大问题。虽然企业可以通过电子邮件与潜在客户保持联系&#xff0c;但不能保证这些潜在客户会真正看广告邮件…

Gitee 上传项目到仓库(上传文件夹)

一、将仓库下载到本地 1.首先打开仓库&#xff0c;点击下载压缩包 2.将下载的压缩包解压&#xff0c;并打开&#xff0c;在当前目录下打开 二、git操作 1.在文件当前目录打开git bash 2.初始化git git init 该命令会生成一个隐藏的.git文件夹 如果不是第一次使用&#…

精通正则表达式 - 打造高效正则表达式

目录 一、典型示例 1. 稍加修改——先迈最好使的腿 2. 效率 vs 准确性 3. 继续前进——限制匹配优先的作用范围 4. “指数级”匹配 二、全面考察回溯 1. 传统 NFA 的匹配过程 2. POSIX NFA 需要更多处理 3. 无法匹配时必须进行的工作 4. 看清楚一点 5. 多选结构的代…

测试用例实战

测试用例实战 三角形判断 三角形测试用例设计 测试用例编写 先做正向数据&#xff0c;再做反向数据。 只要有一条边长为0&#xff0c;那就是不符合要求&#xff0c;不需要再进行判断&#xff0c;重复。 四边形 四边形测试用例

HDFS的文件块大小(重点)

HDFS 中的文件在物理上是分块存储 &#xff08;Block &#xff09; &#xff0c; 块的大小可以通过配置参数( dfs.blocksize&#xff09;来规定&#xff0c;默认大小在Hadoop2.x/3.x版本中是128M&#xff0c;1.x版本中是64M。 如果一个文件文件小于128M&#xff0c;该文件会占…

Python实战案例:轻松采集微博评论,揭示网络舆论热点!

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 开发环境: python 3.8: 解释器 pycharm: 代码编辑器 模块使用: requests: 发送请求 parsel: 解析数据 jieba pandas stylecloud 第三方模块安装&#xff1a; win R 输入cmd 输入安装命令 pip install 模块名 (如果你…