CSS学习(2) - 边距与高宽 + 框模型

news2025/1/24 5:39:32

文章首发于:欢迎大佬们前来逛逛

文章目录

  • CSS边框
    • 边框样式
    • 边框宽度
    • 边框颜色
    • 单独设置边框
    • 边框属性简写
    • 圆角边框
  • CSS边距
    • 外边距
    • 外边距合并
  • CSS内边距
    • 内边距与内容宽度
  • CSS高度与宽度
  • CSS框模型

CSS边框

border 属性能够设置边框的属性,包括样式,颜色和宽度。

边框样式

其中border-style可以设置边框的样式,具体属性如下:

  • dotted - 定义点线边框
  • dashed - 定义虚线边框
  • solid - 定义实线边框
  • double - 定义双边框
  • groove - 定义 3D 坡口边框。效果取决于 border-color 值
  • ridge - 定义 3D 脊线边框。效果取决于 border-color 值
  • inset - 定义 3D inset 边框。效果取决于 border-color 值
  • outset - 定义 3D outset 边框。效果取决于 border-color 值
  • none - 定义无边框
  • hidden - 定义隐藏边框

简单测试后效果如下:

https://cdnjson.com/images/2023/04/14/KX69KT7PEQ2W5_R2PXH.png


边框宽度

border-width 指定边框的宽度,可以设置为px、pt、cm、em等,也可以使用预定的三个属性值:

p.w2{
    border-style: dotted;
    border-width: 2pt; 
}

p.w3{
    border-style: dashed;
    border-width: 5px;
}

p.w4{
    border-style: groove;
    border-width: 10px;
}

p.w_thick{
    border-style: double;
    border-width: thick;
}

同时这个属性也可以设置分别四个边框的宽度:

p.w3{
    border-style: dashed;
    border-width: 10px 5px; /*上下是10px,其他边是5px*/
}	
p.w4{
    border-style: groove;
    border-width: 20px 10px 20px 10px; /*分别是 上右下左*/
}

边框颜色

border-color 指定边框的颜色。

border-color: green;

指定边框的颜色:与边框的宽度一致,

border-color: green red; /*上下是绿色  左右是红色*/
border-color: cadetblue red green yellow; /*分别对应上右下左的颜色*/

单独设置边框

border- 方位 - 属性 可以指定某一个方位的边框的属性信息:

p.diff{
    border-left-style: solid;
    border-right-style: solid;
    border-top-style: dashed;
    border-bottom-style: dashed;
}

不同个数的参数如下所示:

border-style: double dashed; /*上下边框是double  左右边框是dashed*/
border-style: double solid dashed; /*上边框是double  左右边框是solid 下边框是dashed*/
border-style: double dashed solid hidden; /*上右下左边框*/
border-style: double; /*四个边框都是double*/

同理对于 border-color border-width 等也都是如此。


边框属性简写

经过我们刚才的总结,我们发现一个边框至少需要具有width,style(必须), color 等属性

我们可以使用属性简写:

顺序无所谓,只要写了就可以。

p.simple{
    border: 5px solid darkmagenta;   /*简写border属性*/
    background-color: antiquewhite;
}

同时我们可以只为某一个方位设置简写:

border-left: 5px solid darkmagenta;
border-top: 2px dashed red;
border-bottom: 2px dashed red;

圆角边框

border-radius 设置边框的弧度

p.radius{
  border-radius: 5px;
  border: 3px solid darksalmon;
}

CSS边距

外边距

通过为元素的周围外创建空间来设置外边距,使用 margin 属性。

可以通过以下来设置上右下左边框的外边距

  • margin-top
  • margin-right
  • margin-bottom
  • margin-left

可以设置的值:

  • auto
  • length:px pt 等
  • %
  • inherit
p.margin1{
    border: 5px solid gold;
    margin-top: 100px;
    margin-right: 150px;
    margin-bottom: 100px;
    margin-left: 150px;
}

属性简写:

  1. 四个参数:分别对应上右下左
  2. 三个参数:上, 左右, 下
  3. 两个参数:上下, 左右
  4. 一个参数:四个边框
p.margin1{
    border: 5px solid gold;
    margin: 10% 20% 10% 20%; /*上右下左*/
}

marginauto 意味着使元素在其容器中水平居中。

可以自己设置一下该元素需要占据的宽度与高度,然后auto即可。

p.margin1{
    border: 5px solid gold;
    margin: auto;  /*自动对齐*/
    width: 300px; /*容器为300px宽度*/
}

inherit 属性可以使得属性继承自父标签:

div {
  border: 1px solid red;
  margin-left: 100px;
}

p.ex1 {
  margin-left: inherit;
}
/*HTML:*/
<div>
	<p class="ex1"> 这段文本的左边距继承了父标签div的 </p>
 </div>

外边距合并

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

  1. 两个垂直不同块的外边距合并。
  2. 两个存在包含关系的外边距合并。
  3. 空元素块之间的外边距合并。

CSS内边距

内边距与外边距类似,可以通过 padding 来设置。

  • padding-top
  • padding-right
  • padding-bottom
  • padding-left

唯一不同的是padding没有 auto 设置的属性。

  1. 四个参数:分别表示上右下左
  2. 三个参数:表示 上,左右,下
  3. 两个参数:表示 上下,左右
  4. 一个参数:表示四个方位。
padding: 10px 20px 10px 20px;

内边距与内容宽度

内容区域是指 内边距 + 边框宽度 + 外边距 的宽度总和。

如果我们设置了左右内边距,并且设置了内容区域的宽度。

则我们的实际文本内容的宽度会超过我们所设置的内容区域的宽度。

例如在这个例子中,我们的理应的内容宽度为 300 ,但是实际内容宽度为 300+50+50+5 大概400多的宽度,显然我们尽量不要改变我们所设置好了的300的内容宽度

p.margin1{
    border: 5px solid gold;
    padding: 10px 50px;
    width: 300px;
}

因此我们可以使用 box-sizing 使得保持我们所设置的宽度

p.margin1{
    border: 5px solid gold;
    padding: 10px 50px;
    width: 300px;
    box-sizing: border-box; /*保持宽度为300px,会压缩空间,增大高度*/
}

注意:如果我们又设置了高度,则会出现文本超过边框的情况出现。


CSS高度与宽度

通过设置 heightwidth 来指定元素区域的最高宽度和高度,不包括内外边距和边框。

max-widthmax-height 也是用来设置宽度的高度的。

它们两个与上面两个区别在于:他们可以根据文本的内容动态调节元素区域的大小,而width和height是固定的,这两个是可变的会在规定的 min与max 之间适当调节。

设置最小与最大宽度和高度。

max-height: 600px;
min-height: 100px;
max-width: 600px;
min-width: 100px;

CSS框模型

每个HTML的元素又叫做方框或者是框模型,框模型如下所示:

https://www.w3school.com.cn/i/css/boxmodel.gif

width和height指的是文本内容的宽度和高度。增加内边距和外边距不会影响文本内容的大小,但是会影响总的元素框的总大小

一个宽度为100像素的元素框的设置:

#box100{
    border: 1px solid red;
    width: 70px;
    padding: 5px;
    margin: 10px;
}

外边距可以是负值,而且在很多情况下都要使用负值的外边距,但是内边距不能是负值。


一个框模型:

  1. 内容宽度为 300px
  2. 内边距为50px
  3. 外边距为20px
  4. 边框宽度为15px
div {
  background-color: lightblue;
  width: 300px;
  border: 15px solid green;
  padding: 50px;
  margin: 20px;
}

元素框的总宽度大小为:

内容宽度width + 左内边距 + 右内边距 + 左外边距 + 右外边距 + 左边框 + 右边框

总高度也是同理的。

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

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

相关文章

vscode连接Linux开发

vscode远程开发Linux项目 1、首先在vscode中下载安装 Remote SSH。 安装完成后 vscode 左侧就会出现下面的图标。 2、配置远程Linux的信息 # Read more about SSH config files: https://linux.die.net/man/5/ssh_config # Host centos # HostName 192.168.88.10 # …

14. unity粒子特效--速度、粒子环绕、力(重力、阻力、风力等)、噪音

1. 渐变速度&#xff08;Velocity over Time&#xff09; 可以分别指定x,y,z三个方向的速度&#xff0c;最终的速度是三个方向的速度合成&#xff0c;点击右侧的下拉三角&#xff0c;也可以使用曲线进行速度的控制调节&#xff0c;如下图所示&#xff1a; 2. 粒子环绕 粒子…

数据治理:1分钟教你认识和识别主数据

​我们讲元数据是企业数据管理的基石&#xff0c;主数据是企业经营运作的主体对象。一般而言&#xff0c;都是从元数据或主数据切入&#xff0c;再逐步展开数据治理的其他领域。企业数据的范围很广而且在不断的增加和演变&#xff0c;哪些数据应该作为主数据加以合理的管理&…

【JSON学习笔记】1.JSON 简介及语法

前言 本章介绍JSON及其语法。 JSON 教程 JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法&#xff0c;类似 XML。 JSON 比 XML 更小、更快&#xff0c;更易解析。 JSON 易于人阅读和编写。 C、Python、C、Java、PHP、Go等编程…

python机器学习基础——监督学习算法之线性回归

定义 线性模型是在实践中广泛使用的一类模型&#xff0c;几十年来被广泛研究&#xff0c;它可以追溯到一百多年前。线性模型利用输入特征的线性函数 用于回归的线性模型 import mglearn import matplotlib.pyplot as pltmglearn.plots.plot_linear_regression_wave()plt.show…

使用vue实现分页

使用vue实现分页的逻辑并不复杂&#xff0c;接收后端传输过来的数据&#xff0c;然后根据数据的总数和每一页的数据量就可以计算出一共可以分成几页 我编写了一个简单的前端页面用来查询数据&#xff0c;页面一共有几个逻辑 具体的效果可以看下面的演示 下面就来看一下具体的实…

【MyBatis】MyBatis分页插件的使用

文章目录MyBatis分页插件的使用前置知识分页插件的使用MyBatis分页插件的使用 前置知识 MyBatis基础用法。推荐阅读&#xff1a;MyBatis的基本使用 MySQL分页查询&#xff1a; 知道分页查询的规律&#xff0c;同时知道limit index pageSize的使用 index&#xff1a;当前页的起…

【分布式 论文】之 1. MapReduce——Simplified Data Processing on Large Clusters

文章目录1. 需求 / 现存问题2. 总述3. 实现3.1 概述3.2 Master的数据结构3.3 容错性3.3.1 worker节点故障3.3.2 master节点故障3.3.3 故障环境下的语义3.4 位置&#xff08;Locality&#xff09;3.5 任务粒度3.6 备份任务4. 对MapReduce的扩展4.1 划分函数4.2 排序保证4.3 聚合…

【Python】网络请求

目录 一、网络请求流程 1.HTTP 2.URL 3.网络传输模型 4.长链接/短链接 二、爬虫基础 1.基础概念 2.发送请求 3.请求模式 4.cookie 5.retrying 一、网络请求流程 1.HTTP 用户输入网址&#xff0c;例如 www.baidu.com浏览器先向DNS请求&#xff0c;找到网址域名对应的…

【Linux】网络层 — IP协议

&#x1f387;Linux&#xff1a; 博客主页&#xff1a;一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 看似不起波澜的日复一日&#xff0c;一定会在某一天让你看见坚持…

html页面在其他浏览器中渲染不出来

参考文章 问题 Vs code软件中live sever插件设置默认的浏览器是360浏览器&#xff0c;所以一直以来页面都是默认在360浏览器上进行打开并且没有问题。 后面想换谷歌浏览器打开html页面看下效果&#xff0c;发现图表和数据渲染不出来&#xff1a; 报错信息&#xff1a; 用js…

想制作出专业水准的音视频?掌握H.264编码技巧是关键

H.264编码原理 H.264&#xff0c;也被称为先进视频编码&#xff08;AVC&#xff09;&#xff0c;是目前最流行的视频编码标准之一&#xff0c;其压缩效率很高。H.264编码基于视频编码的原始数据&#xff0c;使用一系列算法和技术以更小的比特率呈现更高质量的视频。以下是H.26…

【SSM】Spring6(十一.Spring对事务支持)

文章目录1.引入事务场景1.1准备数据库1.2 创建包结构1.3 创建POJO类1.4 编写持久层1.5 编写业务层1.6 Spring配置文件1.7 表示层&#xff08;测试&#xff09;1.8 模拟异常2.Spring对事务的支持2.1 spring事务管理API2.2 spring事务之注解方式2.3 事务的属性2.4 事务的传播行为…

春季儿童吃什么有助于长高,3款适合孩子长高的食谱做法,学起来

儿童身高一直以来都比较受到父母的关注&#xff0c;虽然身高不能说明一个人的能力有多强&#xff0c;但是会影响到人的外表。身高影响成败&#xff0c;一些专业对身高要求非常严格&#xff0c;因此大部分家长都希望孩子在身高方面能有一定的优势。 春季是孩子分泌生长激素增加时…

一位27岁软件测试员,测试在职近5年,月薪不到2W,担心被应届生取代

工作了近5年&#xff0c;一个月工资不到20K&#xff0c;担心被应届毕业生取代&#xff01;互联网的快速发展伴随着员工适者生存的加速&#xff0c;测试员的薪资也在不断增长&#xff0c;以3年、5年、8年为一条分水岭。如果人们的能力和体力不够&#xff0c;他们就会被淘汰。看起…

【JavaEE】多线程CAS中的aba问题是什么?

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶什么是CAS问题&#xff1f;CAS: 全称Compare and swap&#xff0c;字面意思:”比较并交换“&#xff0c;CAS中的aba问题是什么&#xff1f;请看本文讲解~~ 目录 文章目录 一、CAS是什么&am…

2023二建学天案例突破101问

2023 年二级建造师《公路》案例 101 问1.哪些情况下应进行长度宜不小于 200m的试验路段施工。(1)二级及二级以上公路路堤。(2)填石路堤、土石路堤;(3)特殊填料路堤;(4)特殊路基;(5)拟采用新技术、新工艺、新材料&#xff0c;新设备的路系。2.石质路暂的开挖方式有哪些!(1)钻爆开…

【笔记】响应表头中的Content-disposition

问题来源&#xff1a; 今天在做关于 怎样不通过使用插件的方式在HTML上预览本地C盘下的PDF文件&#xff0c;在生成PDF文件到C盘后&#xff0c;我想在下载和生成之间&#xff0c;再加一个PDF预览&#xff0c;就是先生成到C盘&#xff0c;再由用户来预览之后再决定是否下载&…

ModelNet40数据集

跑PointNet,modelnet40数据集时; 有些人直接用.off文件;——【CAD模型】普林斯顿形状Banchmark中的.off文件遵循以下标准&#xff1a; OFF文件全是以OFF关键字开始的ASCII文件。下一行说明顶点的数量、面片的数量、边的数量。 边的数量可以安全地省略。对模型不会有影响(可以为…

4/16学习周报

文章目录前言文献阅读摘要简介方法评估标准结果结论时间序列预测支持向量机SVM高斯过程GPRNNLSTMGRUtransformer总结前言 本周阅读文献《Real-time probabilistic forecasting of river water quality under data missing situation: Deep learning plus post-processing tech…