CSS 的盒模型

previewfile_1658340036

CSS 的盒模型

在HTML里,每一个元素就相当于是一个矩形的 “盒子” ,这个盒子由以下这几个部分构成:1.边框border,2.内容content,3.内边距padding,4.外边距margin
在这里插入图片描述

image-20240225151115558


边框border

基础属性描述
border-width粗细
border-style样式
border-color颜色

注:border-style属性默认是没边框

border-style: solid;=> 实线边框
border-style: dashed; => 虚线边框
border-style: dotted; => 点线边框

示例代码
image-20240225152614075

运行效果

image-20240225153159224

发现的现象: 边框会撑大盒子

image-20240225153128358

image-20240225153436481

可以看到 width, height 是 200*100, 而最终整个盒子大小是 220 * 120.
原因: 上边距的边框是10个像素,下边距的边框也是10个像素,高度height为100+10+10,变成120像素,宽度也是同理。

如何解决这个现象

通过 box-sizing 属性可以修改浏览器的行为, 使边框不再撑大盒子

image-20240225154405613

结果:
image-20240225154625005

image-20240225154711449

border属性的简写写法
示例:

border-color: black;
border-style: solid;
border-width: 10px; 

等效于(对于3个属性值没有顺序要求)

 border: black solid 10px;

内边距padding

padding设置内容和边框之间的距离,默认内容是顶着边框来放置的
控制四个方向上边距的属性分别为:padding-toppadding-bottompadding-leftpadding-right

实现效果: 内容左边和上方留有一部分区域
image-20240225171852389

示例代码
image-20240225172339320

运行效果
image-20240225172442211

简写写法

可以把多个方向的 padding 合并到一起

  • 第一种:padding: 5px; 表示四个方向都是 5px
  • 第二种:padding: 5px 10px;表示上下内边距 5px, 左右内边距为 10px
  • 第三种:padding: 5px 10px 20px;表示上边距 5px, 左右内边距为 10px, 下内边距为 20px
  • 第四种:padding: 5px 10px 20px 30px;表示上5px, 右10px, 下20px, 左30px(顺时针)

示例

padding-left: 10px;
padding-top: 10px;
padding-right: 10px;
padding-bottom: 10px;

等效于

padding: 10px;

外边距margin

margin控制盒子和盒子之间的距离,默认距离0
控制四个方向上边距的属性分别为:margin-topmargin-bottommargin-leftmargin-right

示例代码
image-20240225180504122

运行结果
image-20240225180618258

简写写法
规则和padding一样

margin: 10px; // 四个方向都设置
margin: 10px 20px; // 上下为 10, 左右 20
margin: 10px 20px 30px; // 上 10, 左右 20, 下 30
margin: 10px 20px 30px 40px; // 上 10, 右 20, 下 30, 左 40

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

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

相关文章

如何运行github上的项目

为了讲明白这个过程,特意做了一个相当来说比较好读懂的原理图,希望和我一样初学的小伙伴也能很快上手哈😊 在Github中找到想要部署的项目,这里以BartoszJarocki/CV(线上简历📄)项目为例 先从头…

Thread多线程(创建,方法,安全,通信,线程池,并发,并行,线程的生命周期)【全详解】

目录 1.多线程概述 2.多线程的创建 3.Thread的常用方法 4.线程安全 5.线程同步 6.线程通信 7.线程池 8.其它细节知识:并发、并行 9.其它细节知识:线程的生命周期 1.多线程概述 线程是什么? 线程(Thread)是一个程序内部的一条执行…

[AutoSar]BSW_Com04 从零开始创建DBC文件

目录 关键词平台说明一、前言二、软件获取和安装三、DBC的创建3.1 主体创建3.2 创建节点3.3 创建Attribute Definitions3.4 创建message(帧)3.5创建 signals3.6 创建value table3.7 调整signal 在message 中的位置3.8 一致性检查 关键词 嵌入式、C语言、…

Python 实现Excel自动化办公(中)

在上一篇文章的基础上进行一些特殊的处理,这里的特殊处理主要是涉及到了日期格式数据的处理(上一篇文章大家估计也看到了日期数据的处理是不对的)以及常用的聚合数据统计处理,可以有效的实现你的常用统计要求。代码如下&#xff1…

(全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF

研究生英语读写教程基础级教师用书PDF 研究生英语读写教程提高级教师用书PDF pdf下载(完整版下载) (1)研究生英语读写教程基础级教师用书PDF (2)研究生英语读写教程基提高级教师用书PDF

抖音视频批量下载软件|视频评论采集工具

抖音视频评论采集软件是一款基于C#开发的高效、便捷的工具,旨在为用户提供全面的数据采集和分析服务。用户可以通过关键词搜索抓取视频数据,也可以通过分享链接进行单个视频的抓取和下载,从而轻松获取抖音视频评论数据。 批量视频提取模块&a…

HTTP 的 multipart 类型

上一篇文章讲到 http 的 MIME 类型 http MIME 类型 里有一个 multipart 多部分对象集合类型,这个类型 http 指南里有讲到:MIME 中的 multipart(多部分)电子邮件报文中包含多个报文,它们合在一起作为单一的复杂报文发送…

使用 Verilog 做一个可编程数字延迟定时器 LS7211-7212

今天的项目是在 Verilog HDL 中实现可编程数字延迟定时器。完整呈现了延迟定时器的 Verilog 代码。 所实现的数字延迟定时器是 CMOS IC LS7212,用于生成可编程延迟。延迟定时器的规格可以在这里轻松找到。基本上,延迟定时器有 4 种操作模式:…

Openharmony - HDF平台驱动之I2C驱动和测试程序

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 概述I2C平台驱动I2C平台驱动HDF框架I2C平台驱动的使用I2C应用开发接口说明代码目录i2ctest.cBUILD.gnbundle.json修改config.json文件…

Pytorch添加自定义算子之(5)-配置GPU形式的简单add自定义算子

参考:https://zhuanlan.zhihu.com/p/358778742 一、头文件 命名为:add2.h void launch_add2(float *c,const float *a,const float *b,int n);

ARMv8-AArch64 的异常处理模型详解之异常处理详解(同步异常和异步异常的分析和处理)

这里写目录标题 一,同步异常的分析1.1 同步异常分析-异常链接寄存器ELR1.2 同步异常分析-异常综合寄存器ESR,Exception Syndrome Register1.3 同步异常分析-错误地址寄存器FAR,Fault Address Register 二, 同步异常的处理示例 Synchronous ex…

langChain学习笔记(待续)

目录 IntroductionLLM的限制扩展理解:什么是机器学习扩展阅读:机器学习的流程 LangChain Introduction LLM的限制 大型语言模型,比如ChatGpt4,尽管已经非常强大,但是仍然存在一些限制: 知识更新&#xff…

尚硅谷webpack5笔记2

Loader 原理 loader 概念 帮助 webpack 将不同类型的文件转换为 webpack 可识别的模块。 loader 执行顺序 分类pre: 前置 loadernormal: 普通 loaderinline: 内联 loaderpost: 后置 loader执行顺序4 类 loader 的执行优级为:pre > normal > inline > post 。相…

逆向案例二:关键字密文解密,自定义的加密解密。基于企名片科技的爬取。

import requests import execjsfor i in range(4):i i1url https://vipapi.qimingpian.cn/Activity/channelInformationByChannelNamedata {channel_name: 24新声,page: f{i},num: 20,unionid: W9wLD4rHIZrB3GLTUncmHgbZcEepR78xJa5Zit6XTMtata86DehdxDt/fDbcHeeJWqqIs6k…

软件测试笔记(二):软件测试流程

1 测试流程概述 软件测试流程包括: 测试计划:测试计划是指根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,使得随后所有的测试工作都围绕着测试需求来进行,同时适当选择测试内容&…

IDEA如何开启Dashboard

普通的面板 Run Dashboard面板 修改配置文件 找到项目的.idea文件夹 点击编辑workspace.xml文件 添加下方代码 <component name"RunDashboard"><option name"ruleStates"><list><RuleState><option name"name" valu…

【Linux】进程信号 --- 信号的产生 保存 捕捉递达

文章目录 信号的感知信号的结构描述 一、信号的产生1.通过键盘发送信号2.通过系统调用发送信号 二、信号的保存&#xff08;PCB内部的两张位图和一个函数指针数组&#xff09;理解三张数据结构表block pending haldler 三、通过代码编写 理解 信号的保存和递达1.信号集操作的库…

[极客大挑战 2019]LoveSQL1 题目分析与详解

一、题目简介&#xff1a; 二、通关思路&#xff1a; 1、首先查看页面源代码&#xff1a; 我们发现可以使用工具sqlmap来拿到flag&#xff0c;我们先尝试手动注入。 2、 打开靶机&#xff0c;映入眼帘的是登录界面&#xff0c;首先尝试万能密码能否破解。 username: 1 or 11…

弱结构化日志 Flink SQL 怎么写?SLS SPL 来帮忙

作者&#xff1a;潘伟龙&#xff08;豁朗&#xff09; 背景 日志服务 SLS 是云原生观测与分析平台&#xff0c;为 Log、Metric、Trace 等数据提供大规模、低成本、实时的平台化服务&#xff0c;基于日志服务的便捷的数据接入能力&#xff0c;可以将系统日志、业务日志等接入 …

《PCI Express体系结构导读》随记 —— 第II篇 第10章 MSI和MSI-X中断机制(1)

前言中曾提到&#xff1a;本章重点介绍MSI和MSI-X。 在PCI总线中&#xff0c;所有需要提交中断请求的设备&#xff0c;必须能够通过INTx引脚提交中断请求&#xff0c;而MSI机制是一个可选机制&#xff1b;而在PCIe总线中&#xff0c;PCIe设备必须支持MSI或者MSI-X中断请求机制&…