CSS 盒子模型

前言


盒子模型-组成 

CSS盒子模型是一种用来描述元素在页面布局中占据空间的模型。它将每个元素看作由内容区域、内边距、边框和外边距组成的一个矩形框。

CSS盒子模型以及外边框合并的问题 - 知乎

盒子模型的组成部分包括:

  1. 内容区域(Content):显示元素的实际内容,例如文本、图像或其他嵌套元素。

  2. 内边距(Padding):位于内容区域与边框之间的空白区域,可以通过padding属性设置。

  3. 边框(Border):围绕内容和内边距的线条,用于分隔元素与其周围的其他元素。可以使用border属性来设置元素的边框样式、颜色和宽度、

  4. 外边距(Margin):位于元素边框与相邻元素之间的空白区域,用于控制元素之间的间距。可以使用margin属性来设置元素的外边距。


边框

设置边框的相关属性有以下几个:

属性说明
border-width用于设置边框的宽度。可以使用具体的像素值或预定义的关键字来指定宽度。
border-style用于设置边框的样式。常见样式包括实线(solid)、虚线(dashed)、点线(dotted)、双实线(double)等。可以使用属性值none来隐藏边框。
border-color用于设置边框颜色。可以使用具体的颜色值或预定义的颜色关键字来指定颜色。

示例:

div {width: 200px;height: 200px;background-color: orange;border-width: 2px;border-style: solid;border-color: blue;
}

上述代码将<div>元素的边框宽度设置为2像素,样式为实线,颜色为蓝色。

预览:

此外,还可以使用border缩写属性来同时设置边框的宽度、样式和颜色。

例如:

div {width: 200px;height: 200px;background-color: orange;border: 2px solid blue;
}

上述代码与前面的示例效果相同。


设置单方向边框线

要设置元素的单方向边框,可以使用以下属性:

属性说明
border-top用于设置元素的上边框
border-right用于设置元素的右边框
border-bottom用于设置元素的下边框
border-left用于设置元素的左边框

示例:

div {width: 200px;height: 200px;background-color: orange;border-top: 1px solid red;border-right: 2px dashed black;border-bottom: 3px dotted green;border-left: 4px double yellow;
}

预览:


内边距

以下属性可以设置不同方位的内边距:

属性说明
padding-top用于设置上方的内边距值
padding-right用于设置右侧的内边距值
padding-bottom用于设置下方内边距值
padding-left用于设置左侧内边距值

示例:

div {width: 200px;height: 200px;background-color: orange;padding-top: 10px;padding-right:20px;padding-bottom: 10px;padding-left:20px
}

上述代码会将<div>元素的顶部和底部内边距设为10像素,右侧和左侧的内边距设置为20像素。


内边距-多值写法

可以使用缩写属性padding来设置不同方向的内边距。

示例:

  • 统一的内边距:
padding: 10px;
  • 水平和垂直方向的不同内边距:
padding: 10px 20px;
  •  上方、水平、下方方向的不同内边距:
padding: 10px 20px 30px;
  • 上、右、下、左方向的各自不同的内边距:
padding: 10px 20px 30px 40px;

盒子尺寸计算

盒子尺寸=内容尺寸+边框尺寸+内边距尺寸

示例:

div {width: 200px;height: 200px;background-color: orange;border: 5px solid black;padding: 10px 20px;margin: 20px;
}

 上述示例,盒子总宽度=250px,总高度为230px。


外边距

可以使用以下属性设置盒子的外边距:

属性说明
margin-top设置元素顶部的外边距
margin-right设置元素右侧的外边距
margin-bottom设置元素底部的外边距
margin-left设置元素左侧的外边距

示例: 

div {width: 200px;height: 200px;background-color: orange;margin: 100px;
}

预览:

其多值写法与内边距padding属性相同。

自动边距:

div {width: 200px;height: 200px;background-color: orange;margin: 0 auto;
}

上述代码中,将垂直方向外边距设置为0,左右外边距设为"auto"将会自动将容器(或版心)水平居中。

预览:


盒子模型-元素溢出

当元素的内容超出其容器的尺寸时,就会发生溢出的情况。可以使用overflow属性来控制溢出元素的显示方式。

overflow属性有以下几个可选值:

属性值效果
visible默认值,内容会溢出容器显示,并可能遮盖其他元素。
hidden内容会被裁剪,超出容器部分将不可见。
scroll若内容溢出容器,会显示滚动条以便滚动查看内容。
auto若内容溢出容器,会根据需要显示滚动条。若不溢出,则不显示滚动条。

示例:

1.溢出情况:

HTML代码:

<div>生活就是一半诗意,一半烟火,手执烟火以谋生,心怀诗意以谋爱。曾经一直觉得远方才是诗,经历了人间烟火,才发现,油盐酱醋茶,亦可成诗。
</div>

CSS代码:

div {width: 200px;height: 150px;background-color: orange;overflow: visible;
}

溢出情况预览:


2.溢出隐藏:

div {width: 200px;height: 150px;background-color: orange;overflow: hidden;
}

预览:


3.溢出滚动(无论是否溢出都会显示滚动条):

准备两个盒子模型

HTML代码:

<div class="div_1">生活就是一半诗意,一半烟火,手执烟火以谋生,心怀诗意以谋爱。曾经一直觉得远方才是诗,经历了人间烟火,才发现,油盐酱醋茶,亦可成诗。
</div><div class="div_2">人面不知何处去,桃花依旧笑春风。
</div>

CSS代码:

.div_1 {width: 200px;height: 150px;background-color: orange;margin: 20px 0;overflow: scroll;
}.div_2 {width: 200px;height: 150px;background-color: green;overflow: scroll;
}

预览:


4.溢出滚动(元素溢出才显示滚动条):

.div_1 {width: 200px;height: 150px;background-color: orange;margin: 20px 0;overflow: auto;
}.div_2 {width: 200px;height: 150px;background-color: green;overflow: auto;
}

预览:


盒子模型-圆角

盒子模型中的圆角(border-radius)属性用于为元素的边框添加圆角效果。通过设置适当的圆角半径,可以使元素的边框变得圆润。

圆角属性可以应用于四个角落:

属性说明
border-top-left-radius左上角的圆角半径
border-top-right-radius右上角的圆角半径
border-bottom-right-radius右下角的圆角半径
border-bottom-left-radius左下角的圆角半径

使用这些属性,你可以指定一个长度值(如像素或百分比)来定义圆角的大小。

示例:

div {width: 200px;height: 200px;background-color: orange;border-top-left-radius: 10px;border-top-right-radius: 20px;border-bottom-right-radius: 30px;border-bottom-left-radius: 40px;
}

预览:


多值写法

语法格式如下:

.element {border-radius: [top-left] [top-right] [bottom-right] [bottom-left];
}

具体说明:

  • top-left:左上角的圆角半径。
  • top-right:右上角的圆角半径。
  • bottom-right:右下角的圆角半径。
  • bottom-left:左下角的圆角半径。
示例效果
border-radius: 10px;所有角都具有相同的圆角半径10px。
border-radius: 10px 20px;左上角和右下角为10px,右上角和左下角为20px。
border-radius: 10px 20px 30px;左上角为10px,右上角和左下角为20px,右下角为30px。
border-radius: 10px 20px 30px 40px;左上角为10px,右上角为20px,右下角为30px,左下角为40px。

常见应用:

  • 正圆形状:给正方形盒子设置圆角属性值为宽高的一半(或50%)
div {width: 200px;height: 200px;background-color: orange;border-radius: 50%;
}

预览:

  • 胶囊形状:给长方形盒子设置圆角属性值为盒子高度的一半
div {width: 300px;height: 100px;background-color: orange;border-radius: 50px;
}

预览:

 

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

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

相关文章

商城的TPS与并发用户数是如何换算的?

商城的TPS与并发用户数的换算关系可以通过以下公式计算&#xff1a; TPS 并发用户数 / 平均事务响应时间 其中&#xff0c;平均事务响应时间是指系统处理一个事务所需的平均时间。 下面是商城性能测试的一些用例示例&#xff1a; 用户登录&#xff1a; 目标&#xff1a;测…

Docker的革命:容器技术如何重塑软件部署之路

引言 在过去的几年中&#xff0c;容器技术已经从一个小众的概念发展成为软件开发和部署的主流方法。Docker&#xff0c;作为这一变革的先驱&#xff0c;已经深深地影响了我们如何构建、部署和运行应用程序。本文将探讨容器技术的起源&#xff0c;Docker如何崛起并改变了软件部…

centos7安装MySQL8

Centos7安装MySQL8 MySQL版本&#xff1a;8.0.34 1.安装前准备 &#xff08;1&#xff09;查看是否安装mariadb [rootkb135 ~]# rpm -qa|grep mariadb &#xff08;2&#xff09;卸载mariadb并检查是否卸干净 [rootkb135 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x8…

vue 简单实验 v-on html事件绑定

1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"event-handling"><p>{{ message }}</p><button v-on:click"reverseMessage">反转 Message</but…

Selenium环境+元素定位大法

selenium 与 webdriver Selenium 是一个用于 Web 测试的工具&#xff0c;测试运行在浏览器中&#xff0c;就像真正的用户在手工操作一样。支持所有主流浏览器 WebDriver 就是对浏览器提供的原生API进行封装&#xff0c;使其成为一套更加面向对象的Selenium WebDriver API。 使…

限制立方样条(RCS)中的P for overall和P for nonlinear的计算

最近不少人私信我&#xff0c;说有些SCI文章报了两个P值一个是P for overall,一个是P for nonlinear,就像下图这样&#xff0c;问我P for overall怎么计算。 P for overall我也不清楚是什么&#xff0c;有些博主说这个是总效应的P值&#xff0c;但是我没有找到相关出处。但是怎…

CnetSDK .NET OCR SDK Crack

CnetSDK .NET OCR SDK Crack CnetSDK.NET OCR库SDK是一款高度准确的.NET OCR扫描仪软件&#xff0c;用于使用手写、文本和其他符号等图像进行字符识别。它是一款.NET OCR库软件&#xff0c;使用Tesseract OCR引擎技术&#xff0c;可将字符识别准确率提高99%。通过将此.NET OCR扫…

CodeSite for .NET Crack

CodeSite for .NET Crack CodeSite for.NET与Visual Studio集成&#xff0c;通过实时查看器日志记录系统提供对代码执行的更深入了解&#xff0c;该系统有助于在本地或远程执行代码时快速查找问题。超越传统的断点调试&#xff0c;在应用程序继续运行时记录应用程序的执行&…

Java基础之IO流File类创建及删除

1.File类概述及构造方法 2.File类创建功能 文件创建成功&#xff01; 如果文件不存在&#xff0c;就创建文件&#xff0c;并返回true 如果文件存在&#xff0c;就不创建文件&#xff0c;并返回false 如果文件夹不存在&#xff0c;就创建文件夹&#xff0c;并返回true 如果文件…

python 开发环境(PyCharm)搭建指南

Python 的下载并安装 参考&#xff1a;Python基础教程——搭建Python编程环境 下载 Python Python 下载地址&#xff1a;官网 &#xff08;1&#xff09;点击【Downloads】>>>点击【Windows】>>>点击【Python 3.x.x】下载最新版 Python&#xff1b; Pyt…

【VS Code插件开发】消息通信(四)

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域优质作者、阿里云专家博主&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4e2; 资料领取&#xff1a;前端…

Sim/circuit10

通过观察可知&#xff0c;在a、b同时为0或1时&#xff0c;state的值改变 state的值可以改变q的输出&#xff0c;1为ab的同或&#xff0c;0为异或 利用assign q进行输出 module top_module (input clk,input a,input b,output q,output state );always(posedge clk)if(a&…

国标GB2818视频平台EasyGBS国标平台与车机设备连接显示未连接成功的问题解决方法

EasyGBS平台可提供流媒体接入、处理、转发等服务&#xff0c;支持内网、公网的监控设备通过国标GB/T28181协议进行视频监控直播。平台兼容性强&#xff0c;只要设备支持国标GB28181协议&#xff0c;均能快速接入EasyGBS&#xff0c;实现视频的监控直播、视频录像、语音对讲、云…

一次hard parse处理过程

文章目录 1.问题描叙2. AWR报告2.1 load profile2.2 Instance Efficiency Percentages(Target 100%)2.3 Time Model Statistics2.4 Instance Activity Stats2.5 Top 5 Timed Events2.6 查询hard parse 3. 解决方案&#xff1a;3.1.修改程式&#xff0c;使用绑定变量3.2.使用cur…

机器人远程控制软件设计

机器人远程控制软件设计 That’s all.

Vue3+Pinia+Koa+Three.js 全栈电商项目总结复盘

前言 前几天一个朋友去义乌旅游&#xff0c;带回来很多小商品&#xff0c;就是一整个物美价廉&#xff0c;但是为什么线下购物和网购有的时候差别这么大&#xff08;网购经常要退换货啊&#x1f62d;&#x1f62d;&#x1f62d;&#xff09;&#xff0c;为此我萌生了一个想法&…

什么是确认测试报告?确认测试报告的用途和周期?

确认测试又称有效性测试&#xff0c;其任务是验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试需要提供的资料包括&#xff1a; 软件需求规格说明书&#xff1a;列出了软件的功能和性能要求&#xff0c;是确认测试的依据。 确认测试计划&#xff1a;制定了确认…

分布式微服务架构下网络通信的底层实现原理

在分布式架构中&#xff0c;网络通信是底层基础&#xff0c;没有网络&#xff0c;也就没有所谓的分布式架构。只有通过网络才能使得一大片机器互相协作&#xff0c;共同完成一件事情。 同样&#xff0c;在大规模的系统架构中&#xff0c;应用吞吐量上不去、网络存在通信延迟、我…

Java 四种访问控制权限

1.背景&#xff1a; 针对java的类成员访问控制权限理解 2.Java有四种访问控制权限&#xff1a; private&#xff0c;protected&#xff0c;public&#xff0c;default 他们的具体访问权限都是什么呢&#xff1f;用例子来分析一下&#xff1a; 这里要分几个情景&#xff1a;内…

IDEA中使用Docker插件构建镜像并推送至私服Harbor

一、开启Docker服务器的远程访问 1.1 开启2375远程访问 默认的dokcer是不支持远程访问的&#xff0c;需要加点配置&#xff0c;开启Docker的远程访问 # 首先查看docker配置文件所在位置 systemctl status docker# 会输出如下内容&#xff1a; ● docker.service - Docker Ap…