CSS中你不得不知道的盒子模型

news2024/12/22 18:19:01

目录

  • 1、CSS的盒子模型
    • 1.1 css盒子模型有哪些:
    • 1.2 css盒子模型的区别
    • 1.3 通过css如何转换css盒子模型

1、CSS的盒子模型

1.1 css盒子模型有哪些:

标准盒子模型、怪异盒子模型(IE盒子模型)

1.2 css盒子模型的区别

标准盒子模型:

标准盒子模型由margin、padding、border、content四部分组成

怪异盒子模型:

怪异盒子模型由margin 、content(padding、border)两部分组成,在怪异盒子模型中内边距和边框是算在内容区域的。

一般来说我们都会使用怪异盒子模型,因为在使用标准盒子模型的时候设置了内边距和边框会把盒子撑大,这样我们有得重新计算盒子的大小,较为麻烦。

1.3 通过css如何转换css盒子模型

box-sizing: content-box 标准盒子模型(默认)
box-sizing: border-box 怪异盒子模型
我们只需要给这个元素设置对应的css即可转换成你想要的模型。

我们来看一段代码示例,更加深刻的来了解一下他们之间的区别

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        ul {
            list-style: none;
        }
        .uls1,.uls2 {
            display: flex;
        }
        .uls1 li{
            width: 200px;
            height: 200px;
            margin: 5px;
            padding: 50px;
            border: 5px solid #ccc;
        }
        .uls2 li{
            box-sizing: border-box;
            width: 200px;
            height: 200px;
            margin: 5px;
            padding: 50px;
            border: 5px solid #ccc;
        }
    </style>
</head>
<body>
    <ul class="uls1">
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <ul class="uls2">
        <li>4</li>
        <li>5</li>
        <li>6</li>
    </ul>
</body>
</html>

在这里插入图片描述
标准盒子模型:
我们将每个li的宽高设置为200px、内边距为50px、边框5px,此时可看到盒子的宽高已经被内边距和边框撑开了,变成了310px * 310px,至于为什么显示的是309.33这和浏览器有关。

在这里插入图片描述

怪异盒子模型:
同样的css属性,而设置怪异盒子模型后,它的实际宽高还是我们的200px,由此可以看出内部距和边框并不会撑大盒子,而是当作内容的一部分。

不过还有一种特殊情况,我们来看这段代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {margin:0; padding:0}
        ul {
            list-style: none;
        }
        .uls {
            display: flex;
        }
        .uls li{
            box-sizing: border-box;
            width: 100px;
            height: 100px;
            margin: 5px;
            padding: 50px;
            border: 5px solid #ccc;
        }
    </style>
</head>
<body>
    <ul class="uls">
        <li></li>
        <li></li>
        <li></li>
    </ul>
</body>
</html>

在这里插入图片描述
我们同样是设置的怪异盒子模型,宽高各100px,内边距50px,边框5px,按理来说通过怪异盒子模型的原理来计算,我们的宽高应该还是100px * 100px ,而这里却变成了110px * 110px。
这是为什么呢?
主要是因为我们盒子的宽高只有100 * 100 ,内边距已经设置为50px,左右(上下)内边距加起来已经达到了100px,而这个时候我们又设置了上下左右5像素的边框,内容已经装不下了,所有宽/高会自动加上这10像素的宽度/高度。
最后就是我们所看到的110px * 110px。

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

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

相关文章

人工智能安全吗?OpenAI正在让大模型和人类“对齐”-确保ChatGPT比人类聪明的同时还遵循人类意图...

“ 人工智能的发展给人类带来福祉的同时&#xff0c;也存在巨大的风险。为了防止人工智能走向不受控制的方向&#xff0c;对齐技术应运而生。通过人工智能安全技术的研究与探索&#xff0c;我们期望在人工智能能力成熟前建立起有效的对齐机制&#xff0c;让人工智能能够真正为人…

【狂神】Spring5(Aop的实现方式)

今天没有偷懒&#xff0c;只是忘了Mybatis&#xff0c;所以去补课了~ ┏━━━━━━━━━━━━━━━┓ NICE PIGGY PIG.. ┗━━━━━━━△━━━━━━━┛ ヽ(&#xff65;ω&#xff65;)&#xff89; | / UU 1.Aop实现方式一 1.1、什…

Redis-Cluster集群操作--添加节点、删除节点

一、环境部署 部署好Redis-Cluster集群&#xff0c;参考上个本人的博客&#xff1a;Redis-Cluster集群的部署&#xff08;详细步骤&#xff09;_是胡也是福的博客-CSDN博客 新准备一台机器&#xff0c;修改主机名&#xff0c;关闭防火墙和selinux&#xff0c;参考&#xff1a…

MySQL 使用规范 —— 如何建好字段和索引

一、案例背景 二、库表规范 1. 建表相关规范 2. 字段相关规范 3. 索引相关规范 4. 使用相关规范 三、建表语句 三、语句操作 1. 插入操作 2. 查询操作 四、其他配置 1. 监控活动和性能&#xff1a; 2. 连接数查询和配置 本文的宗旨在于通过简单干净实践的方式教会读…

【Python】应用:Python数据分析基础

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Python数据分析基础。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次…

解决:在宝塔站点上添加域名(8080,888等端口)显示“端口范围不合法“

在宝塔上给站点添加域名访问时&#xff0c;有时候需要部署站点的端口为8080或者888端口。但是添加之后显示&#xff1a; 解决方法 点击宝塔上的文件 切换到根目录搜索 public.py 包含子目录 选择这个&#xff1a; 修改其中的checkport函数&#xff1a; 最后&#xff0c;重启面…

【CSS】CSS 布局——浮动

浮动的主要用途是在一个容器中创建多列布局&#xff0c;以及在文本周围环绕图片等内容。然而&#xff0c;由于现代的 CSS 布局技术的发展&#xff0c;浮动已经不再是主要的布局方法&#xff0c;但了解它仍然是有用的。 下面我将详细解释 CSS 浮动的用法、特性和影响。 浮动的…

泛型-使用总结

泛型&#xff1a; 1、介绍&#xff1a; ! 2、泛型类&#xff1a; 3、接口&#xff1a; 4、泛型方法&#xff1a; 泛型&#xff1a;不支持多态 !

常见路由跳转的几种方式

常见的路由跳转有以下四种&#xff1a; 1. <router-link to"跳转路径"> /* 不带参数 */ <router-link :to"{name:home}"> <router-link :to"{path:/home}"> // 更建议用name // router-link链接中&#xff0c;带/ 表示从根…

sql:SQL优化知识点记录(八)

&#xff08;1&#xff09;索引面试题分析 所谓索引&#xff1a;就是排好序的快速查找数据结构&#xff0c;排序家查找是索引的两个用途 select * 在where使用到了索引&#xff0c;当select * 有模糊查询%在左边索引会失效 当select * where后面索引的顺序发生变化&#xff0…

51单片机项目(7)——基于51单片机的温湿度测量仿真

本次做的设计&#xff0c;是利用DHT11传感器&#xff0c;测量环境的温度以及湿度&#xff0c;同时具备温度报警的功能&#xff1a;利用两个按键&#xff0c;设置温度阈值的加和减&#xff0c;当所测温度大于温度阈值的时候&#xff0c;蜂鸣器就会响起&#xff0c;进行报警提示。…

浅谈MES系统中的物料管理

导 读 ( 文/ 2269 ) 物料管理是对企业在生产中使用的各种物料的采购、保管和发放环节进行计划与控制等管理活动的总称。物料管理是企业生产执行的基础&#xff0c;它接收来自生产执行层的物料请求&#xff0c;通过一系列物料管理活动的执行&#xff0c;对生产执行层进行及…

长城网络靶场,第一题笔记

黑客使用了哪款扫描工具对论坛进行了扫描&#xff1f;&#xff08;小写简称&#xff09; 第一关&#xff0c;第三小题的答案是awvs 思路是先统计查询 然后过滤ip检查流量 过滤语句&#xff1a;tcp and ip.addr ip 114.240179.133没有 第二个101.36.79.67 之后找到了一个…

【MATLAB第71期】基于MATLAB的Abcboost自适应决策树多输入单输出回归预测及多分类预测模型(更新中)

【MATLAB第71期】基于MATLAB的Abcboost自适应决策树多输入单输出回归预测及多分类预测模型&#xff08;更新中&#xff09; 一、效果展示&#xff08;多分类预测&#xff09; 二、效果展示&#xff08;回归预测&#xff09; 三、代码获取 CSDN后台私信回复“71期”即可获取下…

Linux中Tomcat发布war包后无法正常访问非静态资源

事故现象 在CentOS8中安装完WEB环境&#xff0c;首次部署WEB项目DEMO案例&#xff0c;发现可以静态的网页内容&#xff0c; 但是无法向后台发送异步请求&#xff0c;全部出现404问题&#xff0c;导致数据库数据无法渲染到界面上。 原因分析 CentOS请求中提示用来获取资源的连…

设计模式-7--代理模式(Proxy Pattern)

一、什么是代理模式&#xff08;Proxy Pattern&#xff09; 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许一个对象&#xff08;代理&#xff09;充当另一个对象&#xff08;真实对象&#xff09;的接口&#xff0c;以控制对该对象的…

Shell编程之cut

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出&#xff0c;默认分割符是水平制表符。 如果不指定 File 参数&#xff0c; cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。 基础语法&#xff1a; cut [参数选项] 文件名 参数&a…

Java抛出异常

当某个方法抛出了异常时&#xff0c;如果当前方法没有捕获异常&#xff0c;异常就会被抛到上层调用方法&#xff0c;直到遇到某个try ... catch被捕获为止 调用printStackTrace()可以打印异常的传播栈&#xff0c;对于调试非常有用&#xff1b;捕获异常并再次抛出新的异常时&am…

【Vue CLI】

node.js安装 https://nodejs.org/download/release/v15.14.0/ 管理员运行cmd node -v 安装npm npm install -g cnpm --registryhttps://registry.npm.taobao.org 查看是否安装成功 npm -v 注册淘宝镜像加速器 npm config set registry https://registry.npm.taobao.org/ 查看…

Windows下Redis的安装

文章目录 一,Redis介绍二,Redis下载三,Redis安装-解压四,Redis配置五,Redis启动和关闭(通过terminal操作)六,Redis连接七,Redis使用 一,Redis介绍 远程字典服务,一个开源的,键值对形式的在线服务框架,值支持多数据结构,本文介绍windows下Redis的安装,配置相关,官网默认下载的是…