CSS border-width

迈不过友情╰ 2024-05-24 04:10 177阅读 0赞

border-width

语法

  1. <line-width>{1, 4}: 表示接收最少 1 个, 最多 4 个的 <line-width> 类型的数据.

    • ?CSS 中的数据也是有类型的?
  2. 其中 <line-width> 可以是

    • <line-width> = <length> | thin | medium | thick
    • | 表示互斥, 即<length>, thin, mediumthick 有且只有一个能出现
    • 其中, 文档写的很清楚, 这个 <length> 必须非负

取值

  1. 关键词属性

    • 支持 thin, mediumthick
    • 规范中并没有定义每个关键字代表的具体宽度, 但是遵循的规则是宽度一次增加 thin <= medium <= thick
    • 下面看不同浏览器的实现

      • 不过各家浏览器表现竟然出乎意料的一致, 三者的计算值分别为 1px, 3px, 5px,
      • 请添加图片描述
      • 请添加图片描述
    • 同时, medium 也是边框宽度的默认值, 所以我们可以下面的代码时相同效果的
  2. <length>

    • 正数和负数: 这个应该不用多想, 正数肯定支持, 文档里说的很清楚不支持负数, 但是如果真的写负数, 浏览器会怎么渲染呢? EdgeFirefox 都是这样渲染的

      • .box3 {

        border: 1px solid #111;
        border-top-width: -1px;
        }

      • 请添加图片描述
    • 小数

      • .box4 {

        border: 1px solid #111;
        border-top-width: .1px;
        border-left-width: .01px;
        border-bottom-width: 1.1px;
        border-right-width: 1.8px;
        }

      • 首先看 Chrome 浏览器, 不足 0.5px 的都渲染为 0.5px, 其他的多少就是渲染多少

        • 请添加图片描述
      • 但是在 Firefox 中, 似乎对小数单位进行了四舍五入, 但是四舍五入的规则是把我整蒙了???. 比如第一张图, 0.7px 进为 1px 但是第二张图 1.7px 又舍为 1.5px. 可以参考这篇博客, 其中也说到了 Firefox 浏览器将有些值向上取整而有些值向下取整. 所以为了避免这种情况, 还是乖乖使用整数吧

        • 请添加图片描述
        • 请添加图片描述
    • 百分数

      • 目前看来, ChromeFirefox 都不支持百分数的属性, 所以暂时用不了
      • 请添加图片描述
  3. 特殊的事情

    • border 这个简写属性中, 是可以省略 border-width 的, 比如
    • .box2 {

      border: solid #111;
      }

    • ❗❗但是, 这个样式在不同浏览器中却展示不一样的. 在 Chrome, OperaEdge 浏览器中, 边框宽度都是 1.5px; 但是在 Firefoxie11 浏览器中, 边框都是 3px. 所以为了避免浏览器展示不同, 还是尽量不要省略这个属性
    • 请添加图片描述
    • 请添加图片描述

应用规则

<line-width>{1, 4}
既然这个属性可以只有 1 个值, 也可以有 4 个值, 那么看一下应用规则

  1. 1个值

    • 四个边框同样宽度
  2. 2个值

    • 第一个值应用于上, 下边框
    • 第二个值应用于左, 右边框
  3. 3个值

    • 第一个值应用于边框;
    • 第二个值应用于左, 右边框;
    • 第三个值应用于边框;
  4. 4个值

    • 四个值分别按照上, 右, 下, 左(顺时针)的顺序应用于四个边框

发表评论

表情:
评论列表 (有 0 条评论,177人围观)

还没有评论,来说两句吧...

相关阅读

    相关 rem .css,CSS rem

    在移动端飞速发展的当下,移动端页面的适配越来越成了大家所关注的问题,当我们把PC端的px拿到移动端,发现越来越不适用,媒体查询实在是太繁琐了。进而出现了em、rem、vw等单位

    相关 CSScss grid 布局

    css grid布局出来很久了,可以翻译成栅栏布局,或者网格布局,看到了一个很好的应用,所以写下此篇基础教程。 比如我们要达到下面这样一个效果要怎么做? ![2018051

    相关 css学习_css浮动

    1、文档流介绍 网页布局的核心就是利用css来摆放盒子, 把盒子摆放在合适的位置。 css的定位机制有以下3种(网页布局一般需要3种搭配使用): a、普通流(标准流)