黑马官网最新2024前端就业课V8.5笔记---CSS篇(2)

盒子模型

画盒子

目标:使用合适的选择器画盒子
属性
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>画盒子</title><style>.red {/* 宽度 */width: 100px;/* 高度 */height: 100px;/* 背景色 */background-color: brown;}.orange {width: 200px;height: 200px;background-color: orange;}</style>
</head>
<body><div class="red">div1</div><div class="orange">div2</div>
</body>
</html>

盒子模型-组成

盒子模型重要组成部分:

  • 内容区域 – width & height
  • 内边距 – padding(出现在内容与盒子边缘之间)
  • 边框线 – border
  • 外边距 – margin(出现在盒子外面)
    在这里插入图片描述
  <style>div {width: 200px;height: 200px;background-color: pink;/* 内容与盒子边缘之间 */padding: 20px;border: 1px solid #000;/* 出现在盒子外面,拉开两个盒子之间的距离 */margin: 50px;}</style>

盒子模型 – 边框线

属性名: border(bd)
属性值: 边框线粗细 线条样式 颜色(不区分顺序)
常用线条样式

属性值线条样式
solid实线
dashed虚线
dotted电线
  <style>div {width: 200px;height: 200px;background-color: pink;实线 border: 1px solid #000; 虚线 border: 2px dashed red; 点线 border: 3px dotted green;}</style>

盒子模型-设置单方向边框线

在这里插入图片描述

  <style>div {width: 200px;height: 200px;background-color: pink;border-top: 1px solid #000;border-right: 2px dashed red;border-bottom: 5px dotted green;border-left: 10px solid orange;}</style>

盒子模型 – 内边距

作用: 设置 内容 与 盒子边缘 之间的距离。
属性名: padding / padding-方位名词

  <style>div {width: 200px;height: 200px;background-color: pink;/* padding: 20px; */padding-top: 10px;padding-right: 20px;padding-bottom: 40px;padding-left: 80px;}</style>

盒子模型 – 内边距 – 多值写法

在这里插入图片描述

  <style>div {width: 200px;height: 200px;background-color: pink;四值:上  右  下  左 padding: 10px 20px 40px 80px; 三值:上  左右  下 padding: 10px 40px 80px; 两值:上下  左右 padding: 10px 80px;/* 记忆方法:从上开始顺时针转一圈,如果当前方向没有数值,取值跟对面一样 */}</style>

技巧: 从上开始顺时针赋值,当前方向没有数值则与对面取值相同

盒子模型 – 尺寸计算

默认情况
盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸
结论: 给盒子加 border / padding 会撑大盒子
解决:

  • 手动做减法,减掉 border / padding 的尺寸
  • 內减模式:box-sizing: border-box
    在这里插入图片描述
  <style>div {width: 200px;height: 200px;手动减法 width: 160px;height: 160px; background-color: pink;padding: 20px;內减模式:不需要手动减法,加padding和border不会撑大盒子 box-sizing: border-box;}</style>

盒子模型 – 外边距

作用: 拉开两个盒子之间的距离
属性名: margin
提示: 与 padding 属性值写法、含义相同
技巧: 版心居中 – 左右 margin 值 为 auto(盒子要有宽度)

  <style>div {版心居中要求:盒子要有宽度 width: 1000px;height: 200px;background-color: pink;外边距 不会 撑大盒子 margin: 50px; margin-left: 100px; margin: 50px 100px; margin: 0 auto;}</style>

清除默认样式

清除标签默认的样式,比如:默认的内外边距

  <style>* {margin: 0;padding: 0;box-sizing: border-box;}去掉列表的项目符号 li {list-style: none;}</style>

盒子模型 – 元素溢出

作用:控制溢出元素的内容的显示方式。
属性名:overflow
属性值

属性值效果
hidden溢出隐藏
scroll溢出滚动(无论是否溢出,都显示滚动条位置)
auto溢出滚动(溢出才显示滚动条位置)
  <style>div {width: 200px;height: 200px;background-color: pink;overflow: hidden;overflow: scroll; overflow: auto; }</style>

外边距问题 – 合并现象

场景: 垂直排列的兄弟元素,上下 margin 会合并
现象: 取两个 margin 中的较大值生效

在这里插入图片描述

外边距问题 – 塌陷问题

场景: 父子级的标签,子级的添加 上外边距 会产生塌陷问题
现象: 导致父级一起向下移动
在这里插入图片描述

解决方法:

  • 取消子级margin,父级设置padding
  • 父级设置 overflow: hidden
  • 父级设置 border-top
  <style>.father {width: 300px;height: 300px;background-color: pink;/* padding-top: 50px;box-sizing: border-box; *//* 溢出隐藏 *//* overflow: hidden; */border-top: 1px solid #000;}.son {width: 100px;height: 100px;background-color: orange;margin-top: 50px;}</style>

行内元素 – 内外边距问题

场景: 行内元素添加 margin 和 padding,无法改变元素垂直位置
解决方法: 给行内元素添加 line-height 可以改变垂直位置

  <style>span {margin: 50px;padding: 20px;line-height: 100px;}</style>

盒子模型 – 圆角

作用: 设置元素的外边框为圆角。
属性名: border-radius
属性值: 数字+px / 百分比
提示: 属性值是圆角半径
在这里插入图片描述

技巧: 从左上角开始顺时针赋值,当前角没有数值则与对角取值相同。

  <style>div {margin: 50px auto;width: 200px;height: 200px;background-color: orange;一值	border-radius: 20px; /* 记忆:从左上角顺时针赋值,没有取值的角与对角取值相同 */四值:左上  右上  右下  左下 border-radius: 10px 20px 40px 80px; 三值:左上  右上+左下  右下 border-radius: 10px 40px 80px; 两值:左上+右下  右上+左下 border-radius: 10px 80px;}</style>

常见应用

  • 正圆形状

在这里插入图片描述

  • 胶囊形状
    在这里插入图片描述

盒子模型 – 阴影(拓展)

作用: 给元素设置阴影效果
属性名: box-shadow
属性值: X 轴偏移量 Y 轴偏移量 模糊半径 扩散半径 颜色 内外阴影
注意:

  • X 轴偏移量 和 Y 轴偏移量 必须书写
  • 默认是外阴影,内阴影需要添加 inset
  <style>div {margin: 50px auto;width: 200px;height: 80px;background-color: orange;box-shadow: 2px 5px 10px 1px rgba(0,0,0,0.5) inset;}</style>

标准流

标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。

浮动(了解 企业多用flex)

作用: 让块元素水平排列。

属性名: Float

  • left:左对齐
  • right:右对齐

特点:

  • 浮动后的盒子顶对齐

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

  • 浮动后的盒子脱标,不占用标准流的位置

清除浮动

场景: 浮动元素会脱标,如果父级没有高度,子级无法撑开父级高度(可能导致页面布局错乱)

清除浮动

方法一:额外标签法

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

方法三:双伪元素法(推荐)

方法二:单伪元素法

.clearfix::after { content: “”; display: block; clear: both; }

.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 – 布局

在这里插入图片描述

主轴对齐方式

属性名: Justify-Content

在这里插入图片描述

主轴对齐方式

  • center
  • space-between
  • space-around
  • space-evenly

侧轴对齐方式

属性名

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

在这里插入图片描述

修改主轴方向

主轴默认在水平方向,侧轴默认在垂直方向
属性名: flex-direction
属性值
在这里插入图片描述

弹性伸缩比

作用: 控制弹性盒子的主轴方向的尺寸。
属性名: flex
属性值: 整数数字,表示占用父级剩余尺寸的份数。

弹性盒子换行

弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示。
属性名: flex-wrap
属性值:

  • wrap:换行
  • nowrap:不换行(默认

行对齐方式

属性名: Align-Content
属性值:
在这里插入图片描述

注意: 该属性对单行弹性盒子模型无效。

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

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

相关文章

认识单双链表

认识单双链表 前置知识&#xff1a;无&#xff0c;会的可以直接跳过。 基本概念 内存空间是所有程序的公共资源&#xff0c;在一个复杂的系统运行环境下&#xff0c;空闲的内存空间可能散落在内存各处。我们知道&#xff0c;存储数组的内存空间必须是连续的&#xff0c;而当…

木马病毒相关知识

1、 木马的定义 相当于一个远控程序&#xff08;一个控制端[hack]、一个被控端[受害端]&#xff09; 在计算机系统中&#xff0c;“特洛伊木马”指系统中被植入的、人为设计的程序&#xff0c;目的包括通过网终远程控制其他用户的计算机系统&#xff0c;窃取信息资料&#xff0…

Oracle简介、环境搭建和基础DML语句

第一章 ORACLE 简介 1.1 什么是 ORACLE ORACLE数据库系统是美国ORACLE 公司&#xff08;甲骨文&#xff09;提供的以分布式数据库为核心的一组软件产品&#xff0c;是目前最流行的客户/服务器体系结构的数据库之一。 英文官网&#xff1a;Database | Oracle 中文官网&#xff…

【React】初学React

A. react中如何创建元素呢&#xff1f; 说明一点&#xff1a; 属性都改为驼峰形式&#xff08;无障碍属性aria-*除外&#xff09;&#xff0c; class改成className 创建元素 B. 变量或表达式如何表示呢&#xff1f;大括号{ }包起来 变量值用大括号包裹 C. 元素和组件的区别 元素…

Memento 备忘录模式

备忘录模式 意图结构适用性实例Java Web开发中的简单示例Originator 类Memento 类Caretaker 类 文本编辑器示例1. Originator (发起人) - TextEditor2. Memento (备忘录) - TextMemento3. Caretaker (负责人) - History4. 使用示例输出 备忘录模式&#xff08;Memento Pattern&…

导入项目时微信开发者工具如何自动识别项目APPID

一、需求 当我们在公司拉取小程序项目的时候&#xff0c;经常会在微信开发者工具中导入项目&#xff0c;需要我们手动输入自己的appid非常麻烦&#xff0c;我们可以用在导入项目的时候自动识别公司的appid 二、步骤 2.1 使用Hbuilder工具编译项目 编译成功后会有一个unpacka…

小语言模型介绍与LLM的比较

小模型介绍 小语言模型&#xff08;SLM&#xff09;与大语言模型&#xff08;LLM&#xff09;相比&#xff0c;具有不同的特点和应用场景。大语言模型通常拥有大量的参数&#xff08;如 GPT-3 拥有 1750 亿个参数&#xff09;&#xff0c;能够处理复杂的自然语言任务&#xff…

17.快递物流仓库管理系统(基于springboot和vue)

目录 1.系统的受众说明 2.系统详细设计 2.1 需求分析 2.2 系统功能设计 2.3 开发环境分析 ​​​​​​​2.4 E-R图设计 2.5 数据库设计 3. 系统实现 3.1 环境搭建 ​​​​​​​3.2 员工信息管理模块 3.3 销售订单信息管理模块 ​​​​​​​3.4 图表分析模块…

Shortcut Learning in In-Context Learning: A Survey

为我们的综述打一打广告&#xff0c;目前是初级版本&#xff0c;欢迎各位批评指正&#xff01;后续的论文列表、测评基准会在Github更新[/(ㄒoㄒ)/~~最近比较忙容许我拖一拖] 这里是arxiv链接&#xff1a;Linking!!! Abstract&#xff1a;捷径学习是指模型在实际任务中使用简单…

第三十四章 Vue路由进阶之声明式导航(导航高亮)

目录 一、导航高亮 1.1. 基于语法 1.2. 主要代码 二、声明式导航的两个类名 2.1. 声明式导航类名匹配方式 2.2. 声明式导航类名样式自定义 ​2.3. 核心代码 一、导航高亮 1.1. 基于语法 在Vue中通过VueRouter插件&#xff0c;我们可以非常简单的实现实现导航高亮效果…

第七部分:1. STM32之ADC实验--单通道实验

主要利用一个模拟量的电位器来实时改变电压值&#xff0c;通过STM32自带的ADC通道来采集这个数据&#xff0c;并打印出来&#xff01; 一句话&#xff0c;学完STM32&#xff0c;我就往南走&#xff0c;我的工资只有5000.~~~~Whappy

Ubuntu20.04两种安装及配置中文界面、输入法、换源、共享文件夹实现,及注意事项

虚拟机安装法 1、新建虚拟机&#xff0c;自定义下一步 任意指定路径 提高处理器数量能加快系统响应 完成以后不要运行&#xff0c;添加镜像文件 导入镜像文件&#xff0c;点击浏览 选择后打开->确认->运行虚拟机 出现这种情况就需要检查虚拟机的配置&#xff0c;操作系统…

记录解决vscode 登录leetcode中遇到的问题

1. 安装完 leetcode 点击sign in to leetcode 点击打开网站登录leetcode&#xff0c;发现网页无法打开。 解决办法&#xff1a;将leetcode.cn.js文件中的leetcode-cn.com路径都改成leetcode.cn 2. 继续点击 sign in to leetcode &#xff0c;选择使用账号登录&#xff0c;始…

docker镜像仓库实战

docker镜像仓库实战 搭建一个nginx服务基础知识(Web服务器)查找nginx镜像拉取镜像启动nginx镜像 搭建一个nginx服务 基础知识(Web服务器) Web 服务器&#xff0c;一般是指“网站服务器”&#xff0c;是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客…

zabbix安装配置与使用

zabbix Zabbix的工作原理如下: 监控部分: Zabbix Agent安装在各个需要监控的主机上,它以主配置的时间间隔(默认60s)收集主机各项指标数据,如CPU占用率、内存使用情况等。 通讯部分: Agent会把收集的数据通过安全通道(默认10051端口)发送到Zabbix Server。Server会存储这些数…

CSS的三个重点

目录 1.盒模型 (Box Model)2.位置 (position)3.布局 (Layout)4.低代码中的这些概念 在学习CSS时&#xff0c;有三个概念需要重点理解&#xff0c;分别是盒模型、定位、布局 1.盒模型 (Box Model) 定义&#xff1a; CSS 盒模型是指每个 HTML 元素在页面上被视为一个矩形盒子。…

关于LLC知识23(频率越大变压器体积越小?)

为什么频率越高&#xff0c;同样的磁芯就可以用的更小&#xff1f; 变压器他负责的功能是 1、隔离 2、能量传递 这里主要是与能量传递有关 我们首先要知道&#xff0c;次级的输出功率一定的情况下&#xff0c;那么在一定的时段内消耗的能量就是一定的&#xff0c;比如1000W…

UE5.4 PCG Layered Biomes插件

B站学习链接 官方文档 一、PCGSpawn Preset&#xff1a;负责管理PCG要用到的植被资产有哪些 二、BiomesSettings&#xff1a;设置要使用的植被资产Layer、Spawn参数 1.高度Layer参数&#xff1a; 2.地形Layer&#xff1a;我这里用地形样条线绘制了一块地形Layer 绘制点和…

数字后端零基础入门系列 | Innovus零基础LAB学习Day8

###LAB15 Detail Routing for Signal Integrity, Timing, Power and Design for Yield 这个章节虽然标题有点长&#xff0c;但不要被它吓到&#xff0c;其实这个章节就是Innovus工具的绕线Routing。只不过这个阶段做Route不是仅仅是把所有的逻辑连接&#xff0c;用实际的金属层…

量化交易 股市技术指标

股市数据分类 股票数据根据信息来源和分析方法的不同&#xff0c;可以分为技术面数据和基本面数据。 技术面数据和基本面数据都是股票分析中重要的工具&#xff0c;它们提供了不同的视角和方法来评估股票的投资价值。投资者可以综合运用这两类数据&#xff0c;从技术面和基本…