热门标签 | 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 简写属性,用于把下边框的所有属性设置到一个声明中。

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


推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文讨论了为什么在main.js中写import不会全局生效的问题,并提供了解决方案。在每一个vue文件中都需要写import语句才能使其生效,而在main.js中写import语句则不会全局生效。本文还介绍了使用Swal和sweetalert2库的示例。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
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社区 版权所有