首页 > 其他分享 >盒子模型-小了解

盒子模型-小了解

时间:2024-07-27 09:54:16浏览次数:11  
标签:间距 盒子 模型 边框 padding 了解 0px border

前言:

什么是盒子模型?我们可以把所有的html标签都看作一个盒子,这些盒子就像我们生活中的快递,每个盒子都存在 内容(买的物品)、保护层(内边距)、快递盒(边框)、快递之间的距离(外间距)。

所以,盒子模型主要定义了四个区域:内容(content)、内边距(pading)、边框(border)、外间距(margin)。

盒子模型有两种一种是W3C模型,另一种是IE怪异盒子模型。我们常见的盒子模型是W3C盒子模型,这种我们定义的宽、高就是内容的宽、高,而真正盒子的宽高则是 内容宽高+内边距+边框。另一种我们等到最后说,别弄混了。

盒子模型的作用:

方便。将每个标签看作一个盒子,会使我们的页面代码更加的整洁。并且像是给了一个默认的规定一样,当大家看到标签时不约而同的想到盒子模型,这个标签设的内容、保护层、边框、外间距,让人一瞬间既能在复杂的代码区找到其对应的属性,方便了阅读,同时也能使页面更加美观。(我自己写的,别信,答到卷子上未必有分)

盒子模型的四个属性值:

1.内容(content);这一块我们一般都是定义它的宽高和文本,所以常用的属性是width、height、text等。

2.内边距:使用的属性名是 padding,这个属性名后一般常跟数值。

3.边框:使用的属性名是border,这个属性名可以有三个值,一个用来限定边框宽度的(border-width)、一个用来规定边框样式的(border-style)、一个用来规定边框颜色的(border-color)

4.外间距:使用的属性名是 margin,其后常跟距离数值,表示离别的标签的距离。

下面详细讲解以下每个标签,并说明以下我们在制作网页时常遇到的问题:

padding标签:

用来设定盒子内容到盒子边界的距离,值得注意的是:设定好宽高在设定内间距时,会导致盒子变形。

(padding:0px 0px)

padding后跟两个值,两个值分别表示:上、下间距,右、左间距

(padding:0px 0px 0px)

padding后跟三个值,三个值分别表示:上间距,右、左间距,下间距

(padding:0px 0px 0px 0px)

padding后最多可以跟四个值,四个值分别表示:上间距,右间距,下间距,左间距

对于需要单独表示的右间距,一般都需要设置四个值,或者使用 padding-left 单独设置。其他三个方向同样可以使用这样单独表示的方式:padding-top(上间距)、padding-right(右间距)、padding-bottom(下间距)。

border标签:

为盒子增加一个边框,使界面更有分界感,结构更清晰。

与border相关的属性有:

border-style:规定边框的样式,常用的一般为实线(solid)、虚线(dashed)、点线(dotted)

border-width:边框粗细,用来调节边框的显示效果,后面常跟像素大小

border-color:边框的颜色,可以设定与文本一样的颜色达到隐藏边框的效果,也可以设定不一样的演示来突出我们想要显示的区域。

border-radius:边框圆角,这个属性是用来调整边框四个角的弧度的,当为其添加值(和上面的值一样,通常为xx像素)时,直角就会变成圆弧,值为50%时,正方形变圆,矩形变椭圆。

border,后面是三个值(宽度、样式、颜色),通过使用top、right、bottom、left单独的对一个方向变宽进行样式设计。

border-radius,后面一个值(0px),表示四个角都设置这个大小

border-radius,后面跟两个值(0px 0px;)表示(左上、右下,右上、左下)

border-radius,后面跟三个值(0px,0px,0px),表示(左上,右上、左下,右下)

border-radius,后面四个值(0px,0px,0px,0px)分别对应着左上角、右上角、右下角、左下角。(注意括号里面是分号,还是逗号)

除了上述的表示方式,还有一种定义单个角的方式,例如:border-top-left-radius(左上角)

margin标签:

margin标签用来设定当前盒子与其它标签之间的距离。

由上述可以看出,margin和padding一样都有四个方向,所以它的表示形式也和padding一样,这里就不再过多描述。

使用这些属性需要注意的地方:

1.margin属性使用时,当紧挨的两个模块竖直排列时,他们之间的距离只会取较大那一方的margin值,不会叠加取值。a、b之间的间距 = a的下间距(b的上间距)谁大取谁。

但是当两个模块是水平排列时,都设定左右的间距值,这个时候他们  a、b之间的距离=a物体的右间距+b物体的左间距 这个时候又是可以叠加的了

2.问题描述如下图:

之所以出现这个问题和body标签的特殊性有关。body标签使用margin属性时,margin-bottom会使body里面的内容下移,而不是移动body外的标签。

面对这个问题,给出大家四种解决方案(一般会在body标签下直接出现):

1.不给子元素添加margin属性,改为对父元素添加padding属性。(例如上述例子中,去掉.logo内的margin元素,改为对.header添加padding)

2.为父元素添加边框,当.header属性拥有边框时,.logo就会根据边框进行下移,不会移动父元素。

3.为子元素添加float浮动,这样也能避免移动出现父边框移动的情况

4.为父元素添加 overflow:auto 属性。(这个属性一般会和凭空出现的滚动条相关)

另一个盒子模型:

IE异构盒子,这个盒子设定的宽度 = 内容宽度+内边距宽度+盒子边框宽度。

标签:间距,盒子,模型,边框,padding,了解,0px,border
From: https://blog.csdn.net/wait_cai_niao/article/details/140603095

相关文章

  • 大语言模型的Scaling Law:如何随着模型大小、训练数据和计算资源的增加而扩展
    人工智能的世界正在经历一场革命,大型语言模型正处于这场革命的前沿,它们似乎每天都在变得更加强大。从BERT到GPT-3再到PaLM,这些AI巨头正在推动自然语言处理可能性的边界。但你有没有想过是什么推动了它们能力的飞速提升? 在这篇文章中,我们将介绍使这些模型运作的秘密武器——一......
  • Django模型中的save方法 精讲
    两种方法定义在Django模型中的save方法有不同的参数处理方式。第一种方法:defsave(self,*args,**kwargs):super().save(*args,**kwargs) 特点:使用*args和**kwargs来捕获所有位置参数和关键字参数。这样的方法可以灵活地接收任何传递给save方法的参数,并将它......
  • 如何在 Litestar GET 路由中使用 Pydantic 模型作为查询参数
    我正在尝试使用Litestar创建一条GET路由,该路由利用Pydantic模型作为查询参数。但是,序列化无法按预期工作。这是重现我的问题的最小示例:frompydanticimportBaseModelfromlitestarimportLitestar,get,ControllerclassInput(BaseModel):foo:str......
  • Numpy&Pandas:pandas库的安装,不同对象的建立,文件的导入和了解数据
    目录前言一、Pandas库的安装二、不同对象的建立1.Series对象的创建1.用index方法指定索引2.在创建的时候就指定索引3.使用字典的方式创建4.将一个常量与index一起传入创建5.输出值和索引2.DataFrame对象的创建1.不指定列名则以键当列名行索引为默认值2.columns指......
  • 13、flask-模型-models-模型配置使用-数据迁移
    1.配置数据库__init__.py#__init__.py:初始化文件、用来创建flask应用fromflaskimportFlaskfrom.viewsimportblue#蓝图from.extsimportinit_exts#导入插件模块exts.pydefcreate_app():app=Flask(__name__)#创建flask应用#注册蓝图......
  • 一文带你了解Jwt和session的区别
    全栈开发文章目录全栈开发前言Session和Jwt是什么?Session概念工作场景Jwt概念工作场景总结前言因为要重构公司的web端产品,和前端一起对了下接口。在对接用户登录的时候,发现当用户关掉浏览器后再次打开浏览器竟然不能无密码登录。然后就和前端商量了下,后端采用j......
  • 【活动预告】Easysearch 结合大模型实现 RAG
    2024搜索客社区Meetup首期线上活动正式启动,本次活动由搜索客社区、极限科技(INFINILabs)联合举办,诚邀广大搜索技术开发者和爱好者参加交流学习。活动时间:2024年7月31日19:30-20:30(周三)活动形式:微信视频号(极限实验室)直播报名方式:关注或扫码海报中的二维码进行预约活......
  • 特征工程的自动化革新:Mojo模型中的动态应用策略
    特征工程的自动化革新:Mojo模型中的动态应用策略在机器学习领域,特征工程是提升模型性能的黄金钥匙。Mojo模型,作为一个代表任何机器学习模型的术语,其性能在很大程度上依赖于特征的有效性。随着数据的不断变化和业务需求的演进,自动化和动态应用特征工程变得尤为重要。本文将探......
  • 解密黑盒:Mojo模型中自定义模型解释性报告的动态生成
    解密黑盒:Mojo模型中自定义模型解释性报告的动态生成在机器学习领域,模型的可解释性是一个至关重要的议题。Mojo模型,作为一个通用术语,可以指代任何机器学习或深度学习模型。随着模型被集成到生产环境中,提供模型决策的透明度和可解释性变得尤为关键。本文将探讨如何在Mojo模型......
  • C++queue,deque浅显了解及运用(信息学竞赛专用)
    当然也可以不看==> 阅读我的文章前请务必先阅读此文章! 都是废话目录阅读文章须知引言队列(queue)队列简介​编辑队列的创建队列的操作手写队列双端队列(deque)双端队列简介双端队列的创建双端队列的操作 手写双端队列(原理)写在最后阅读文章须知为了得到......