首页 > 其他分享 >CSS盒模型

CSS盒模型

时间:2024-05-26 16:31:43浏览次数:10  
标签:盒子 solid 模型 padding width red border CSS

盒子模型(box model)

无论是div,span,还是a都是盒子

但是,图片,表单元素疑虑看作文本,它们并不是盒子。这个很好理解,比如说,一张图片里并不能放东西,它自己就是自己的内容

盒子中的区域:

一个盒子中主要的属性就5个:width,height,padding,border,margin。

  • width和height :内容的宽度和高度
  • padding:内边距
  • border:边框
  • margin:外边距
<style>
    div{
        width:200px;
        height:200px;
        border:1px solid red;
        padding:50px;
    }
</style>

标准盒模型和IE盒模型

我们目前所学习的知识中,以标准盒子模型为准

 标准盒子模型:(抄录GitHub大佬图片)

IE盒子模型

 

上图显示:

在css盒子模型规定了元素处理元素的几种方式:

  • width和height
  • padding
  • border
  • margin 

css盒模型和IE盒模型的区别:

  • 在标准盒子模型中,width和height指的是内容区域的宽度和高度。增加内边距,边框和外边距不会影响内容区域的尺寸,但会增加元素框的总尺寸。
  • IE盒模型中,width和height指的是内容区域+border+padding的宽度和高度 

<body>标签也有margin

正确理解是参考大佬总结:整个网页最大的盒子是<document>, 即浏览器,而<body>是<decument>的儿子。


认识width、heigh

 盒子的真实占有宽度=左border + 左padding + width + 右border+ 右padding

盒子变胖是灾难性的,这会把别的盒子挤下去


认识padding

padding区域也有颜色

padding有四个方向

小属性的写法:

padding-top: 30px;
padding-right: 20px;
padding-bottom: 40px;
padding-left: 100px;

综合属性的学法:(上下左右)

padding:30px 20px 40px 100px

如果写了四个值,则顺序为:上下左右

如果写了三个值,则顺序为:上,左和右,下

如果写了两个值,则顺序为:上和下,左和右

用小属性层叠大属性,比如:

padding: 20px;
padding-left: 30px;

对于盒子模型:

 而

padding-left: 30px;
padding: 20px;

第一行的小属性无效,因为被第二层的大属性叠掉了

一些元素默认带有padding

 所以我们做站的时候,为了便于控制,总是喜欢清除这个默认的padding

可以用*进行清楚

*{
    margin: 0;
    padding: 0;
}

但是,*的效率不高,所以我们选择并集选择器,罗列所有的标签(不用背,右专业的清除默认样式的样式表,之后学习)

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin:0;
    padding:0;
}
认识border

border就是边框,边框三要素:像素(粗细),线型,颜色


.div1{
	width: 10px;
	height: 10px;
	border: 2px solid red;
}

border-style

查表CSS 参考手册 | 菜鸟教程

比较稳定的border-style就几个:solid,dashed,dotted

border拆分

booder是一个大综合属性。

比如说:border:1px solid red;

就是把上下左右这四个方向的边框,都设置为1px宽度,线型实线,red颜色

border属性是能够被拆开的,有两大种拆开的方式:

(1)按三要素拆开:border-width,border-style,border-color

(2)按方向拆开:border-top,border-right,border-bottom,border-left

一个border属性是由三个小属性综合而成的。如果小属性后面是空格隔开的多个值,那么就是上下左右的顺序。

border-width:10px 20px;
border-style:solid dashed dotted;
border-color:red green blue yellow;

可以自己试试

工作中用什么?

什么简单用什么,但要懂得,小属性层叠大属性

如要实现下方表示,写法如下

border:10px solid red;
border-right-color:blue;

border:10px solid red;
border-style:solid dashed;

 border也可以没有

border:none

也可以一条边没有:

border-left:none;

也可以调整左边框宽度为0

border-left-width:0;
border-image属性

比如

border-image:url(.img.png) 30 round;

举例:利用border属性画一个三角形:

<!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>
        div{
            width:0;
            height: 0;
            border: 50px solid green;
            border-top-color:red;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

(2)取消底部

<!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>
        div{
            width:0;
            height: 0;
            border: 50px solid green;
            border-top-color:red;
            border-bottom: none;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

(3)最后设置border的左右为白色或者透明

<!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>
        div{
            width:0;
            height: 0;
            border: 50px solid white;
            border-top-color:red;
            border-bottom: none;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

举例2:利用border属性画一个三角形

<!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>
        .div1{
            width: 0;
            height: 0;
            border-top: 30px solid red;
            border-left:20px solid transparent;
            border-right: 20px solid transparent;
        }
       
    </style>
</head>
<body>
    <div class="div1"></div>
</body>
</html>

资源来自github大佬贴,由链接在隔壁贴

标签:盒子,solid,模型,padding,width,red,border,CSS
From: https://blog.csdn.net/2301_80227523/article/details/139182596

相关文章

  • CSS的浮动
    标准文档流标准文档流的特性(1)空白折叠现象:无论多少个空格,换行,tab都会折叠为一个空格(2)高矮不齐,底边对齐(3)自动换行,一行写不满,换行写行内元素和块级元素从HTML的角度来讲,标签分为:文本级标签:p,span,a,b,i,u,em容器级标签:div,h系列,li,dt,dd从CSS角度来讲,行内元素:除了p之外,所有的......
  • 一起来聊聊大模型的token
    文章目录前言一、token是什么二、常用分词方法三、GPT-3的分词方式1.代码示例2.`Ġworld`和`world`的区别1)分词中的空格前缀2)后续计算中的区别3.为什么使用子词分词总结前言学习大模型的朋友肯定听说过大模型接口按token,自己编写代码的时候也经常看到tok......
  • [学习分享]基于matlab的新安江模型_01_模型介绍与蓄满产流
    写在前面的  最近笔者刚完成水文预报这门课的课程设计,课程设计要求根据课本自行实现新安江模型,完成径流模拟。现在课程设计已经基本全部做完,自己感觉做的也还不错,同时也因为蛮喜欢水文预报这门课的,所以想再对课程设计的整个过程做个整理分享出来,也希望能够帮助到一些困惑于......
  • [书生·浦语大模型实战营]——第三节:茴香豆:搭建你的 RAG 智能助理
    0.RAG概述定义:RAG(RetrievalAugmentedGeneration)技术,通过检索与用户输入相关的信息片段,并结合外部知识库来生成更准确、更丰富的回答。解决LLMs在处理知识密集型任务时可能遇到的挑战,如幻觉、知识过时和缺乏透明、可追溯的推理过程等。提供更准确的回答、降低推理成......
  • 重排模型DLCM
    论文名:LearningaDeepListwiseContextModelforRankingRefinement背景在搜索场景下,给定一个查询q,q和d特征的向量表示x(q,d),rank阶段的loss可以表示为:其中:Q是query的集合,D是doc集合,f是rank模型函数可以看到,传统的rank模型是一种point-wise的建模方法,没有考虑不同doc之间......
  • HTML+CSS简单的网页制作期末作业 关于我的家乡——四川文化网页介绍 DW大学生网页作业
    家乡旅游景点网页作业制作网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠......
  • 2024web网页源码大学生网页设计制作作业实例代码 (全网最全,建议收藏) HTML+CSS+JS
    文章目录......
  • Web大学生网页作业成品:个人博客主页 (纯HTML+CSS代码)
    ......
  • 2024年5月大语言模型论文推荐:模型优化、缩放到推理、基准测试和增强性能
    前一篇文章总结了关于计算机视觉方面的论文,这篇文章将要总结了2024年5月发表的一些最重要的大语言模型的论文。这些论文涵盖了塑造下一代语言模型的各种主题,从模型优化和缩放到推理、基准测试和增强性能。大型语言模型(llm)发展迅速,跟上这些领域新颖的研究将有助于引导模型的持续......
  • 一种多行业AI大模型应用系统架构图
    一种多行业AI大模型应用系统架构图在线下载地址:https://www.processon.com/diagraming/663aca77c6097856afd4d9ba一种适用于多行业AI大模型应用系统架构图,共分为七层:1、模型应用,2、模型服务平台、3、行业模型、4、模型训练5、模型选择,6、行业数据,6、部署方式;通过对AI模......