5_CSS三大特性盒子模型

news2024/11/27 13:35:08

第5章-盒子模型【比屋教育】

本课目标(Objective)

  • 掌握CSS三大特性
  • 理解什么是盒子模型
  • 掌握内边距padding的用法
  • 掌握外边距margin的用法

1. CSS的层叠,继承,优先级

1.1 CSS层叠
  • 层叠:是指多个CSS样式叠加到同一个元素,遵循从上到下的原则,会应用最后加载的样式。

  • 案例:1.样式的重叠性.html

1.2 CSS继承
  • 继承:子元素会继承父元素的样式,继承的好处就是可以代码复用。

  • 子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性

  • 案例:2.样式的继承性.html

1.3 CSS优先级(重点)
  • 当出现多个规则应用在同一元素上时,选择器属性不同,就会出现优先级的问题。

1 权重计算公式

关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity(特殊性)

标签选择器计算权重公式
继承的权重最低0,0,0,0
标签选择器0,0,0,1
类,伪类0,0,1,0
唯一ID0,1,0,0
行内联样式 style=""1,0,0,0
!important最高权重
!important用法:
div {
    color: red!important;
}
  • 案例:3.样式的优先级.html

2 权重叠加
  • 多个基础选择器组合时就会出现权重叠加的情况

  • 案例:4.权重叠加.html

3. 继承的权重
  • 继承的权重是最低的。

  • 案例:5.继承的权重.html

2.网页如何布局

  • 网页布局的本质:

    • 首先用CSS设置好盒子(DIV)的大小,然后摆放盒子的位置。

    • 最后把网页元素比如文字图片等等,放入盒子里面。

3. 什么是盒子模型

  • 浏览器中的盒子模型(DIV)

  • 案例:06-盒子边框设置1.html

  • 盒子模型案例:

4. 盒子边框设置 

  • 语法:

border : border-width || border-style || border-color
属性作用
border-width定义边框粗细,单位是px
border-style边框的样式
border-color边框颜色
  • 边框的样式:

    • none:没有边框即忽略所有边框的宽度(默认值)

    • solid:边框为单实线(最为常用的)

    • dashed:边框为虚线

    • dotted:边框为点线

4.1 边框综合设置
border-bottom: 2px solid yewllo;
4.2 盒子边框写法总结表
  • 可以单独给4个边框分别指定的。

  • 案例:07-盒子边框设置2.html

上边框下边框左边框右边框
border-top-style:样式;border-bottom-style:样式;border-left-style:样式;border-right-style:样式;
border-top-width:宽度;border- bottom-width:宽度;border-left-width:宽度;border-right-width:宽度;
border-top-color:颜色;border- bottom-color:颜色;border-left-color:颜色;border-right-color:颜色;
border-top:宽度 样式 颜色;border-bottom:宽度 样式 颜色;border-left:宽度 样式 颜色;border-right:宽度 样式 颜色;

5. 内边距(padding)

4.1 内边距:
  • padding属性用于设置内边距。 表示边框与内容之间的距离。

  • 指定padding值之后

    • 内容和边框有了距离,添加了内边距。

    • 盒子会被撑大

4.2 内边距属性设置
属性作用
padding-left左内边距
padding-right右内边距
padding-top上内边距
padding-bottom下内边距
  • 简写表达方式:

值的个数表达意思
1个值padding:上下左右内边距;
2个值padding: 上下内边距 左右内边距 ;
3个值padding:上内边距 左右内边距 下内边距;
4个值padding: 上内边距 右内边距 下内边距 左内边距 ;

  • 案例:08.内边距设置.html

4.3 课堂案例: 网页导航制作
  • 案例:09.网页导航案例.html

4.4 盒子实际的大小计算

  • 宽度:content width + padding + border

  • 高度:content height + padding + border

  • 盒子的实际的大小 = 内容的宽度和高度 + 内边距 + 边框

  • 案例:10.盒子实际大小计算方式.html

4.5 内边距为什么会撑开盒子
  • 如果设置内边距就会撑大原来的盒子

  • 一个盒子宽度为50, padding为 20, 边框为15像素,问这个盒子实际的宽度的是()

6. 外边距(margin)

6.1 外边距设置:
属性作用
margin-left左外边距
margin-right右外边距
margin-top上外边距
margin-bottom下外边距
  • 案例:11.外边距设置.html

6.2 盒子水平居中
  • 可以让一个块级盒子实现水平居中必须:

    • 盒子必须指定了宽度(width)

    • 然后就给左右的外边距都设置为auto

      • 常见的写法:

        • margin-left: auto; margin-right: auto;

        • margin: auto;

        • margin: 0 auto;

  • 案例:12.盒子居中对齐.html

6.3 文字居中和盒子居中区别
  • 盒子内的文字水平居中是 text-align: center, 而且还可以让行内元素和行内块居中对齐

  • 块级盒子水平居中 左右margin 改为 auto

  • 案例:13.文字居中和盒子居中.html

text-align: center; /*  文字 行内元素 行内块元素水平居中 */
margin: 10px auto;  /* 块级盒子水平居中  左右margin 改为 auto 就阔以了 上下margin都可以 */
6.4 插入图片和背景图片区别
  • 插入图片的控制:只能靠盒模型 padding与margin来控制

  • 背景图片的控制:只能通过 background-position来控制

  • 案例:14.插入图片和背景图片的区别.html

6.6 清除元素的默认内外边距(重要)

  • 为了更灵活方便地控制网页中的元素,制作网页时,我们需要将元素的默认内外边距清除

  • 案例:15.清除元素默认的内外边距.html

* {
   padding:0;         /* 清除内边距 */  
 margin:0;          /* 清除外边距 */
}
6.7 外边距合并
  • 使用margin定义块元素的垂直外边距时,可能会出现相邻块元素垂直外边距的合并。

    • 当上下相邻的两个块元素相遇时,如果上面的元素有margin-bottom,下面的元素有margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和。

    • 会取两个值中的较大者:这种现象被称为相邻块元素垂直外边距的合并(也称外边距塌陷)

    • 解决方案:尽量给只给一个盒子添加margin值

    • 案例:16.外边距合并之上下外边距.html

  • 嵌套块元素垂直外边距的合并(塌陷)

    • 对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,父元素的上外边距会与子元素的上外边距发生合并。合并后的外边距为两者中的较大者。

    • 解决方案:

      • 可以为父元素定义上边框。

      • 可以为父元素定义上内边距

      • 可以为父元素添加overflow:hidden。

    • 案例:17.嵌套关系外边距合并.html

7. 盒子模型布局总结

  • margin:会有外边距合并的问题。

  • padding:会影响盒子大小。

8. 综合案例训练

  • 无序和有序列表前面默认的列表样式,在不同浏览器显示效果不一样,去掉这些列表样式代码如下。

li { 
    list-style: none; 
}

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

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

相关文章

Java 类加载器和双亲委派机制原理剖析

目录 一、类加载器(ClassLoader)二、四种类加载器之间的关系三、双亲委派机制3.1、为什么要设计双亲委派机制3.2、类加载器loadClass(String name) 源码解析3.3、打破双亲委派机制 一、类加载器(ClassLoader) JVM的类加载机制是按需加载的模式运行的,也就是代表着&a…

万户 ezOFFICE convertFile 文件读取漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

Linux环境下socket本地通信

最近项目有用到了socket本地通信,故复习一下。之前都是基于本地虚拟机的ip地址通信的,现在项目,Linux单板上面有2个进程需要通信,故用到了本地socket通信,主要其实就是用了sockfd,文件描述符,也叫句柄。 服…

MySQL概述-安装与启动

数据库相关概念 MySQL数据库 下载地址 MySQL :: Download MySQL Installer (Archived Versions) 启动方法 启动密令:net start mysql80 停止密令:net stop mysql80 客户端链接方法 注意用系统自带的命令行工具执行指令需要设置环境在高级系统设置中…

Vue 创建虚拟DOM元素的几种方式和实际应用。

目录 创建虚拟DOM元素的方式 创建一个简单的元素: 创建一个带有属性的元素: 创建一个带有子元素的元素: 创建一个带有事件监听器的元素: 创建一个Vue组件 创建一个带Props的组件 创建一个带Slot的组件 实际应用 创建虚…

Python源码17:使用海龟画图turtle画五星红旗

turtle模块是一个Python的标准库之一,它提供了一个基于Turtle graphics的绘图库。Turtle graphics是一种流行的绘图方式,它通过控制一个小海龟在屏幕上移动来绘制图形。 turtle模块可以让您轻松地创建和控制海龟图形,从而帮助您学习Python编…

SpringSecurity6 | 登录成功后的JSON处理

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…

Gilisoft Video Editor——迈出剪辑的第一步

今天博主分享的是又一款剪辑软件——视频剪辑手(GiliSoft Video Editor),对剪辑视频感兴趣的小伙伴千万不要错过。这是一款专门用于视频剪辑的软件,功能比较简单,相比于专业的pr是比不了的,但是制作一些简单…

内存映射机制

什么是内存映射 Linux通过将一个虚拟内存区域与一个磁盘上的对象关联起来,以初始化这个虚拟区域的内如,这个过程称为内存映射。 代码示例: /******************************************************************** > File Name: mmap…

如何查询川菜食材配料的API接口

在当今的美食文化中,菜谱不只是一张简单的食谱,更是了解美食文化和饮食知识的重要途径。然而,若没有准确的食材配料,烹制出的每道菜品都将难以达到完美的味道。因此,为了更好地满足人们对于菜谱和食谱的需求&#xff0…

Gitzip插件【Github免翻下载】

今天给大家推荐一个github下载的插件,平常大家下载应该无外乎就是以下两种: Download zip利用git clone 但是这两种各有各的弊端,前者一般需要科学上网才可以,后者下载不稳定经常中途断掉。 今天给推荐一个款浏览器插件-Gitzip.大…

单调栈结构

单调栈 单调栈是一种特殊设计的栈结构,为了解决如下的问题: 给定一个可能含有重复数值的 arr[],i位置的数一定存在如下两种信息: arr[i]的左侧离 i 最近并且小于(或者大于)arr[i] 的数在哪?arr…

边缘AI行业报告:发展趋势、相关机遇、产业链及相关公司深度梳理

今天分享的AI系列深度研究报告:《边缘AI行业报告:发展趋势、相关机遇、产业链及相关公司深度梳理》。 (报告出品方:慧 博 智 能 投 研) 报告共计:31页 边缘计算及边缘 AI 概述 1.边缘AI 边缘 AI(本文指…

第四节JavaScript 条件语句、循环语句、break与continue语句

一、JavaScript条件语句 在通常的代码中,我们有一些需要决定执行不同动作,这就可以在代码中使用条件语句来完成。 下面是我们常使用的条件语句: if语句:只有当指定条件是true时,执行条件内代码。if…else语句&#…

代码序随想录二刷 |二叉树 | 二叉树的层序遍历II

代码序随想录二刷 |二叉树 | 二叉树的层序遍历II 题目描述解题思路代码实现 题目描述 107.二叉树的层序遍历II 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层&#xff0…

【Unity动画】Avatar Mask

创建 Avatar Mask可以设置那一部分骨骼运动和不运动 然后放在状态机里面的层中来混合 【后续完善】

JVM虚拟机系统性学习-运行时数据区(堆)

运行时数据区 JVM 由三部分组成:类加载系统、运行时数据区、执行引擎 下边讲一下运行时数据区中的构成 根据线程的使用情况分为两类: 线程独享(此区域不需要垃圾回收) 虚拟机栈、本地方法栈、程序计数器 线程共享(数…

java接入gpt开发

前情提要 本次文章使用编译器为IDEA2020 使用GPT模型为百度旗下的千帆大模型 如果是个人用或者不流传出去,可以无脑入,因为会免费送20块钱(够用上万次) 代金卷查看 正式教程: 百度智能云控制台 (baidu.com) 按照步…

游戏提示找不到d3dx10_43.dll怎么办?5种方法教你如何修复

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“缺少d3dx10_43.dll文件”。这个错误提示通常出现在运行某些游戏或应用程序时,它意味着系统无法找到所需的动态链接库文件。本文将详细介绍d3dx10_43.dll文件的作用以及导致其丢…

《文化创新比较研究》期刊发表杂志投稿

《文化创新比较研究》是由国家新闻出版总署批准,黑龙江文化产业投资控股集团有限公司主管主办的学术期刊(旬刊)。 以学术研究为基础,始终坚持双百方针,立足理论前沿,关注学术热点,推动学术文化交…