热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

CSS框模型(盒子模型)padding与border属性

框结构模型图一:元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。

框结构模型图一:


元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。

提示:背景应用于由内容和内边距、边框组成的区域。


框结构模型图二:  


外边距可以是负值


CSS padding 属性

padding 属性接受长度值或百分比值,但不允许使用负值。

  • h1 {padding: 10px;}
    表示将各边距都设置为10px
  • h1 {padding: 10px 0.25em 2ex 20%;}
    按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值。
  • 关于参数缺省问题,下面一一记录:
    • padding 的缺省值即默认是 0。不过有两个元素例外, td ,  th 的 padding 缺省值为 1。
    • 如果只有一个值,表示四个间隙都用同样的宽度,上面已有记录
    • 如果有两个值,第一个值表示上下间隙宽度,第二个值表示左右间隙宽度。
      可查看案例:所有内边距属性在一个声明中
    • 如果有三个值,第一个值表示上间隙宽度,第二个值表示左右间隙宽度,第三个值表示下间隙宽度。

也通过使用下面四个单独的属性,分别设置上、右、下、左内边距:

  • padding-top
  • padding-right
  • padding-bottom
  • padding-left


百分数值是相对于其父元素的 width 计算的,这一点与外边距一样。所以,如果父元素的 width 改变,它们也会改变。

注意:上下内边距与左右内边距一致;即上下内边距的百分数会相对于父元素宽度width设置,而不是相对于高度height。

 
 

CSS 边框(border)

每个边框有 3 个方面:宽度、样式,以及颜色。

CSS2.1 规定:元素的背景是内容、内边距和边框区的背景。也就是说对于那些间断的边框,元素的背景应当出现在边框的可见部分之间。

CSS border-style 属性border与padding一样,也可以分别对各个边进行分别定义,而且缺省值的设置一样:

  • 例子 1

    border-style:dotted solid double dashed; 
    • 上边框是点状
    • 右边框是实线
    • 下边框是双线
    • 左边框是虚线
  • 例子 2

    border-style:dotted solid double;
    • 上边框是点状
    • 右边框和左边框是实线
    • 下边框是双线
  • 例子 3

    border-style:dotted solid;
    • 上边框和下边框是点状
    • 右边框和左边框是实线
  • 例子 4

    border-style:dotted;
    • 所有 4 个边框都是点状


  • 单边边框样式属性:
    • border-top-style
    • border-right-style
    • border-bottom-style
    • border-left-style

CSS 的 border-style 属性定义了 10 个不同的非 inherit 样式,包括 none。不再一一赘述,可点击链接自己查看。



CSS border-width 属性

应用方法与border-style几乎一样,不再赘述。

可能的值

描述
thin 定义细的边框。
medium 默认。定义中等的边框。
thick 定义粗的边框。
length 允许您自定义边框的宽度。
inherit 规定应该从父元素继承边框宽度。

分别设置边框各边的宽度:

  • border-top-width
  • border-right-width
  • border-bottom-width
  • border-left-width


CSS border-color 属性大部分应用方法可以与上面类推,下面只记几点注意事项:

注释:默认的边框颜色是元素本身的前景色。如果没有为边框声明颜色,它将与元素的文本颜色相同。另一方面,如果元素没有任何文本,假设它是一个表格,其中只包含图像,那么该表的边框颜色就是其父元素的文本颜色(因为 color 可以继承)。这个父元素很可能是 body、div 或另一个 table。

透明边框

我们刚才讲过,如果边框没有样式,就没有宽度。不过有些情况下您可能希望创建一个不可见的边框。

CSS2 引入了边框颜色值 transparent。这个值用于创建有宽度的不可见边框。

请看下面的例子:透明边框示例

它能在你需要的时候使其可见。这种透明边框相当于内边距,因为元素的背景会延伸到边框区域(如果有可见背景的话)。

重要事项在 IE7 之前,IE/WIN 没有提供对 transparent 的支持。在以前的版本,IE 会根据元素的 color 值来设置边框颜色。


最后,boder 有一种设置方式:

border-left 简写属性,用于把左边框的所有属性设置到一个声明中。

border-right 简写属性,用于把右边框的所有属性设置到一个声明中。

border-top 简写属性,用于把上边框的所有属性设置到一个声明中。

border-bottom 简写属性,用于把下边框的所有属性设置到一个声明中。

如下面示例:所有左边框属性在一个声明之中


推荐阅读
  • Java毕业设计项目:“传情旧物”网站(含源码与数据库)
    本项目介绍了如何配置和运行“传情旧物”网站,包括所需的技术栈、环境配置以及具体的操作步骤。 ... [详细]
  • 本文为初学者提供了一条清晰的学习路线,帮助他们逐步成长为优秀的Web开发人员。通过十个关键步骤,涵盖从基础到高级的各个方面,确保每位学习者都能找到适合自己的学习方向。 ... [详细]
  • 本文介绍了如何在 Qt 应用程序中实现状态栏、浮动窗口(铆接部件)和中心部件。通过简单的代码示例,详细解释了每个组件的创建和设置方法。 ... [详细]
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • 本文介绍了 Confluence 6 中使用的其他 Cookie,这些 Cookie 主要用于存储产品的基本持久性和用户偏好设置,以提升用户体验。 ... [详细]
  • Bootstrap 插件使用指南
    本文详细介绍了如何在 Web 前端开发中使用 Bootstrap 插件,包括自动触发插件的方法、插件的引用方式以及具体的实例。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 如何解决TS1219:实验性装饰器功能可能在未来版本中更改的问题
    本文介绍了两种方法来解决TS1219错误:通过VSCode设置启用实验性装饰器,或在项目根目录下创建配置文件(jsconfig.json或tsconfig.json)。 ... [详细]
  • 本文探讨了 Canvas 元素在不同尺寸设置下出现变形失真的原因,并详细解释了 HTML 尺寸和 CSS 尺寸的区别及其对视觉效果的影响。 ... [详细]
  • 第七卷《英才》强调,即使有良药,若不对症,效果也不如低等药物;即使有贤才,若不适用,效果也不如普通人。文中通过多个比喻,阐述了人才使用的重要性,指出合适的人才在适当的时间和场合才能发挥最大效用。 ... [详细]
  • packagecom.panchan.tsmese.utils;importjava.lang.reflect.ParameterizedType;importjava.lang. ... [详细]
  • .children() 方法用于获取选中元素的所有直接子元素。此方法仅遍历DOM树的一层,如需遍历多层子元素,请使用 .find() 方法。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 蒜头君的倒水问题(矩阵快速幂优化)
    蒜头君将两杯热水分别倒入两个杯子中,每杯水的初始量分别为a毫升和b毫升。为了使水冷却,蒜头君采用了一种特殊的方式,即每次将第一杯中的x%的水倒入第二杯,同时将第二杯中的y%的水倒入第一杯。这种操作会重复进行k次,最终求出两杯水中各自的水量。 ... [详细]
  • 经过一年的思考,我发现自己对开发的兴趣并不浓厚,而对算法研究则更加热衷。本文将探讨开发与算法之间的本质差异,并分享我的未来学习计划。 ... [详细]
author-avatar
手机用户2502870105
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有