黑马官网最新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>

盒子模型 – 内边距

作用: 设置 内容 与 盒子边缘 之间的距离。
属性名: 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 中的较大值生效
在这里插入图片描述

  <style>
    .one {
      width: 100px;
      height: 100px;
      background-color: brown;
      margin-bottom: 80px;
    }

    .two {
      width: 100px;
      height: 100px;
      background-color: orange;
      margin-top: 50px;
    }
  </style>

外边距问题 – 塌陷问题

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

解决方法:

  • 取消子级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>

标准流

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

浮动

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

属性名: 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
属性值:
在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

单片机串口接收状态机STM32

单片机串口接收状态机stm32 前言 项目的芯片stm32转国产&#xff0c;国产芯片的串口DMA接收功能测试不通过&#xff0c;所以要由原本很容易配置的串口空闲中断触发DMA接收数据的方式转为串口逐字节接收的状态机接收数据 两种方式各有优劣&#xff0c;不过我的芯片已经主频跑…

Android Studio 安装过程

以前用 Eclipse 开发&#xff0c;最近尝试 Android Studio 开发&#xff0c;发现 Android Studio 比 Eclipse 速度快多了&#xff0c;下面是安装 Android Studio 过程日志。 Gradle 下载地址&#xff1a;https://services.gradle.org/distributions/ https://developer.andro…

github.io出现的问题及解决方案

1. 你的连接不是专用连接 放假回家后打开自己的博客&#xff0c;发现无法打开博客&#xff0c;一开始以为是调样式时不小心搞坏了&#xff0c;打开别人的githunb.io博客发现都会出问题&#xff0c;并且用手机不连接wifi可以正常打开 解决办法&#xff1a; 方法一&#xff1a; …

商场应急管理措施和预案|基于springboot+vue的大型商场应急预案管理系统(源码+数据库+文档)

商场应急管理系统 目录 基于springbootvue的大型商场应急预案管理系统 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&…

【ACM出版,EI稳定检索】2024年人工智能、数字媒体技术与交互设计国际学术会议(ICADI 2024,11月29-12月1日)

2024年人工智能、数字媒体技术与交互设计国际学术会议&#xff08;ICADI 2024) 2024 International Conference on Artificial Intelligence, Digital Media Technology and Interaction Design 官方信息 会议官网&#xff1a;www.icadi.net 2024 International Conference o…

【Linux】命令行参数 | 环境变量

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 前几天在搞硬件&…

Stable diffusion 3.5本地运行环境配置记录

1.环境配置 创建虚环境 conda create -n sd3.5 python3.10Pytorch(>2.0) conda install pytorch2.2.2 torchvision0.17.2 torchaudio2.2.2 pytorch-cuda12.1 -c pytorch -c nvidiaJupyter能使用Anaconda虚环境 conda install ipykernel python -m ipykernel install --user …

CODESYS可视化星三角降压启动程序控制电气动画图

#一个用CODESYS可视化做的星三角降压启动程序控制电气动画图# 前言: 关于星三角降压启动控制,作为电气行业入门的必备知识点,涉及到电机本身特性导致的电压,电流(转矩),功率和转速等一系列的关系和变化,以及星型和三角形的绕组方式。本篇我们使用CODESYS结合程序和可视…

安装fpm,解决*.deb=> *.rpm

要从生成 .deb 包转换为 .rpm 包&#xff0c;可以按照以下步骤修改打包脚本 1. 使用 fpm 工具 fpm 是一个强大的跨平台打包工具&#xff0c;可以将 .deb 包重新打包成 .rpm&#xff0c;也可以直接从源文件打包成 .rpm。 安装 fpm sudo apt-get install ruby-dev sudo gem in…

C#的Event事件示例小白级剖析

1、委托Delegate 首先说一下delegate委托&#xff0c;委托是将方法作为参数进行传递。 // 定义了一个委托类型public delegate void MyDelegate(int num);// 定义了一个啥也不干的委托实例public MyDelegate m_delegate _ > {};// 定义了一个和委托相同格式的方法public …

力扣排序350题 两个元组的交集2

题目&#xff1a; 给你两个整数数组 nums1 和 nums2 &#xff0c;请你以数组形式返回两 数组的交集。返回结果中每个元素出现的次数&#xff0c;应与元素在两个 数组中都出现的次数一致&#xff08;如果出现次数不一致&#xff0c;则考虑取 较小值&#xff09;。可以不考虑输出…

善用Git LFS来降低模型文件对磁盘的占用

将讲一个实际的例子&#xff1a;对于模型文件&#xff0c;动辄就是好几个G&#xff0c;而有的仓库更是高达几十G&#xff0c;拉一个仓库到本地&#xff0c;稍不注意直接磁盘拉满都有可能。 比如&#xff1a;meta-llama-3.1-8b-instruct&#xff0c;拉到本地后发现居然占用了60G…

CentOS 磁盘扩容

1. 查看要扩展的磁盘 df -h这个就是要扩展的磁盘空间&#xff0c;记住名称&#xff0c;后面会用到 2. 查看所有磁盘信息 fdisk -llsblk可以发现&#xff0c;500G 的硬盘已经安装到服务器但是没被使用&#xff0c;此时需要操作这块硬盘 3. 创建分区 fdisk /dev/vdb根据流程…

js中怎么把excel和pdf文件转换成图片打包下载

index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>文件转图片工具</title><!-- 本…

【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期

目录 1. start() (1) start() 的性质 (2) start() 和 Thread类 的关系 2. 终止一个线程 (1)通过共享的标记结束线程 1. 通过共享的标记结束线程 2. 关于 lamda 表达式的“变量捕获” (2) 调用interrupt()方法 1. isInterrupted() 2. currentThread() …

Metasploit渗透测试之在云服务器中使用MSF

概述 随着云计算的发展&#xff0c;对基于云的应用程序、服务和基础设施的测试也在不断增加。在对云部署进行渗透测试时&#xff0c;最大的问题之一是共享所有权。过去&#xff0c;在进行渗透测试时&#xff0c;企业会拥有网络上的所有组件&#xff0c;我们可以对它们进行全部…

2016年7月和8月NASA的气候成像(ATom)-1飞行活动期间测量的黑碳(BC)质量混合比(单位为ng BC / kg空气)

目录 简介 摘要 代码 引用 网址推荐 知识星球 机器学习 简介 ATom: Black Carbon Mass Mixing Ratios from ATom-1 Flights 该数据集提供了在2016年7月和8月NASA的气候成像&#xff08;ATom&#xff09;-1飞行活动期间测量的黑碳&#xff08;BC&#xff09;质量混合比&…

关于各链 Meme Launchpad

随着Web3生态的迅猛发展&#xff0c;区块链领域诞生了大量创意无限的meme项目&#xff0c;逐渐引起了广泛关注。这些meme项目不仅展示了加密社区的活力与创造力&#xff0c;也为投资者提供了新的机会和玩法。 然而&#xff0c;meme项目的快速崛起也带来了筛选优质项目和发现市场…

C语言 | Leetcode C语言题解之第537题复数乘法

题目&#xff1a; 题解&#xff1a; bool parseComplexNumber(const char * num, int * real, int * image) {char *token strtok(num, "");*real atoi(token);token strtok(NULL, "i");*image atoi(token);return true; };char * complexNumberMulti…

C# 日志框架 NLog、log4net 和 Serilog对比

文章目录 前言NLog、log4net 和 Serilog 三个框架的详细对比:一、NLog优点:缺点:二、 log4net优点缺点三、Serilog优点缺点四、Serilog使用举例总结前言 NLog、log4net 和 Serilog 三个框架的详细对比: NLog、log4net 和 Serilog 是三个非常流行的 .NET 日志框架,它们各自…