13.前端--CSS-盒子模型

1.盒子模型的组成

CSS 盒子模型本质上是一个盒子,封装周围的 HTML 元素,它包括:边框外边距内边距、和 实际内容

在这里插入图片描述

2.边框(border)

2.1 边框的使用

1、border设置元素的边框。边框有三部分组成:边框宽度(粗细) 边框样式 边框颜色
在这里插入图片描述
2、语法

 border : border-width || border-style || border-color; 

在这里插入图片描述
边框样式 border-style 可以设置如下值:

  • none:没有边框即忽略所有边框的宽度(默认值)
  • solid:边框为单实线(最为常用的)
  • dashed:边框为虚线
  • dotted:边框为点线

在这里插入图片描述
3、边框的合写分写
边框简写:

 border: 1px solid red;  /* 宽度,样式,颜色 */  

边框分开写法:

 border-top: 1px solid red;  /* 只设定上边框, 其余同理 */   
2.2 表格的细线边框

1、border-collapse 属性控制浏览器绘制表格边框的方式。它控制相邻单元格的边框。
2、语法:

 border-collapse:collapse; 

collapse 单词是合并的意思

border-collapse: collapse; 表示相邻边框合并在一起
在这里插入图片描述

2.3 边框会影响盒子实际大小

边框会额外增加盒子的实际大小。因此我们有两种方案解决:

  • 测量盒子大小的时候,不量边框。
  • 如果测量的时候包含了边框,则需要 width/height 减去边框宽度
2.4 圆角边框

语法:

 border-radius:length; 
  • 参数值可以为数值百分比的形式
  • 如果是正方形,想要设置为一个圆,把数值修改为高度或者宽度的一半即可,或者直接写为 50%
  • 该属性是一个简写属性,可以跟四个值,分别代表左上角、右上角、右下角、左下角
  • 分开写:border-top-left-radius、border-top-right-radius、border-bottom-right-radius 和border-bottom-left-radius
  • 兼容性 ie9+ 浏览器支持, 但是不会影响页面布局,可以放心使用

3.内边距(padding)

3.1 内边距的使用方式

1、padding 属性用于设置内边距,即边框与内容之间的距离
2、语法:
合写属性:
在这里插入图片描述
分写属性:
在这里插入图片描述

3.2 内边距会影响盒子实际大小

1、当我们给盒子指定 padding 值之后,发生了 2 件事情:

  1. 内容和边框有了距离,添加了内边距。
  2. padding影响了盒子实际大小(增大)。
    在这里插入图片描述

2、内边距对盒子大小的影响:

  • 如果盒子已经有了宽度和高度,此时再指定内边框,会撑大盒子
  • 如何盒子本身没有指定width/height属性, 则此时padding不会撑开盒子大小

3、解决方案:

如果保证盒子跟效果图大小保持一致,则让 width/height 减去多出来的内边距大小即可。

4.外边距(margin)

4.1 外边距的使用方式

margin 属性用于设置外边距,即控制盒子和盒子之间的距离
在这里插入图片描述

4.2 外边距典型应用

外边距可以让块级盒子水平居中的两个条件:

  • 盒子必须指定了宽度(width)。
  • 盒子左右的外边距都设置为 auto 。
    常见的写法,以下三种都可以:
margin-left: auto;   margin-right: auto;
margin: auto;
margin: 0 auto;

注意:以上方法是让块级元素水平居中行内元素或者行内块元素水平居中给其父元素添加 text-align:center 即可

4.3 盒子塌陷的两种情况

使用 margin 定义块元素的垂直外边距时,可能会出现外边距的合并。

1、相邻块元素垂直外边距的合并
当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距 margin-bottom,下面的元素有上外边距 margin-top ,则他们之间的垂直间距不是 margin-bottom 与 margin-top 之和。取两个值中的较大者这种现象被称为相邻块元素垂直外边距的合并。
在这里插入图片描述
解决方案: 尽量只给一个盒子添加 margin 值。

2、嵌套块元素垂直外边距的塌陷
对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值。
在这里插入图片描述
解决方案:

  • 可以为父元素定义上边框
  • 可以为父元素定义上内边距
  • 可以为父元素添加 overflow:hidden
4.4 清除内外边距

网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此我们在布局前,首先要清除下网页元素的内外边距。

* {
    padding:0;   /* 清除内边距 */
    margin:0;    /* 清除外边距 */
  }

注意:行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。但是转换为块级和行内块元素就可以了

5.盒子阴影

语法:

 box-shadow: h-shadow v-shadow blur spread color inset; 

在这里插入图片描述
inset是内部阴影,outset是外部阴影(默认的,不能写出来

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

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

相关文章

ucharts 让x轴文字倾斜文字

ucharts 让x轴文字倾斜文字 xAxis: {disableGrid: true,scrollShow: false,//x轴文字倾斜rotateLabel:true},

2023年天猫食用油市场行业分析(电商数据查询软件):市场细分,营养调和油高速成长

食用油是人类膳食的重要组成部分,除了为日常饮食提供美味外,也是人体所需脂肪和能量的重要来源,对人体健康发挥着重要作用。因此,作为日常生活中的刚需品,食用油市场的整体规模也较大。 首先来看食用油市场的年度销售…

华为OD-华为机试精讲500篇系列文章目录介绍(持续补充ing)

目录 背景介绍 什么是华为OD? OD现状 OD趋势 华为OD机考刷题攻略 1、刷题资料:投递岗位通过筛选后提供 2、注意事项: 真题代码目录 背景介绍 经济下行的这几年,每个人都感同身受,如何让自己在芸芸众生中脱颖而…

深度学习之卷积神经网络

卷积神经网络简称为CNN 首先我们来回顾一下,我们之前学到的全连接的神经网络: 上面我们通过线性层串行连接起来的神经网络,我们叫做全链接的网络,在线性层里面,我们的输入值和任意的输出值之间都存在权重,…

05 Redis之Benchmark+简单动态字符串SDS+集合的底层实现

3.8 Benchmark Redis安装完毕后会自动安装一个redis-benchmark测试工具,其是一个压力测试工具,用于测试 Redis 的性能。 src目录下可找到该工具 通过 redis-benchmark –help 命令可以查看到其用法 3.8.1 测试1 3.9 简单动态字符串SDS 无论是 Redis …

中间件系列 - Kafka3.x从入门到精通

前言 学习视频:【尚硅谷】Kafka3.x教程(从入门到调优,深入全面)本内容仅用于个人学习笔记,如有侵扰,联系删除 1 Kafka 概述 1.1 定义 Kafka传统定义: Kafka 是一个分布式的基于发布/订阅模式的消息队列…

JMeter GUI:测试计划和工作台

什么是测试计划? 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试所需的所有元素(如线程组、计时器等)及其相应的设置。 下图显示了测试计划的示例 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试…

OpenCV实战:控制手势实现无触摸拖拽功能

前言: Hello大家好,我是Dream。 今天来学习一下如何使用OpenCV来控制手势,瞬间提升操作体验!跨越界限,OpenCV手势控制拖拽功能现身。 一、主要步骤及库的功能介绍 1.主要步骤 要实现本次实验,主要步骤如下…

设计模式——职责链模式(Chain of Responsibility Pattern)

概述 职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为…

【基础算法】1、快速排序快速选择

快速排序思想: 1、找一个分界点。 2、在分界点两边开始调整范围。 3、递归两边,重复。 例题: 给定你一个长度为 n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行&#xf…

prism 10 for Mac v10.1.1.270激活版 医学绘图分析软件

GraphPad Prism 10 for Mac是一款专为科研工作者和数据分析师设计的绘图和数据可视化软件。以下是该软件的一些主要功能: 软件下载:prism 10 for Mac v10.1.1.270激活版 数据整理和导入:GraphPad Prism 10支持从多种数据源导入数据&#xff0…

第六讲_JavaScript原型

JavaScript原型 1. 原型的概念2. 原型继承2.1 原型链 3. class类的原型对象 1. 原型的概念 原型是 JavaScript 对象相互继承特性的机制。 每个函数都有一个 prototype 属性,这个属性指向一个对象,这个对象称为原型对象。每个对象都有一个 [[Prototype]…

Linux操作系统权限相关问题(一站式速通权限)

一、sudo命令 sudo yum install -y sl sudo命令的作用 不切换用户,就想让普通用户以root的身份,执行对应的指令 输入密码时,输入的是自己普通用户的密码,而不是root的密码!!! sudo可以进行…

C语言——如何进行文件操作

大家好,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流 本文由:残念ing原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客,欢迎各位→…

在线意间AI绘图接口HTML在线页面

在线意间AI绘图接口写的HTML单页面 自适应单页面,下载可以直接在电脑上双击打开运行 手机上自行放到主机去通过域名访问

ae视频特效制作 -- After Effects 2024

After Effects 2024是一款专业的动态图形和视觉效果制作软件,广泛应用于电影、电视、广告和多媒体制作等领域。相比之前的版本,After Effects 2024在功能和性能方面都有了显著的提升,增加了许多新功能和改进。 首先,After Effect…

Python编辑开发 --- pycharm pro 中文

PyCharm Pro是一款专业的Python集成开发环境(IDE),由JetBrains公司开发。它为Python开发者提供了丰富的功能和工具,使得Python编程变得更加高效和便捷。PyCharm Pro具有智能代码编辑功能,能够自动完成代码、快速导航至…

Guava EventBus详解

概述 EventBus顾名思义,事件总线,是一个轻量级的发布-订阅模式的应用模式。相比于MQ更加简洁,轻量,它可以在一个小系统模块内部使用。 EventBus允许组件之间通过发布-订阅进行通信,而不需要组件之间显示的注册。它专门…

【数据结构 01】栈

一、原理 栈通常从数据结构和内存空间两个角度解释,从数据结构的角度,栈是一种线性结构表,只允许在固定的一端进行插入和删除元素,从内存空间角度,操作系统为函数和变量分配的内存空间通常在栈区,但是无论…

状态码400以及状态码415

首先检查前端传递的参数是放在header里边还是放在body里边。 此图前端传参post请求,定义为’Content-Type’:‘application/x-www-form-urlencoded’ 此刻他的参数在FormData中。看下图 后端接参数应为(此刻参数前边什么都不加默认为requestP…