css中新型的边框设置属性border-inline

embedded/2024/10/18 21:25:22/

一、概念与背景

border-inline 是 CSS Logical Properties and Values 模块中的一个属性,用于控制元素在流内(inline)方向上的边框。该模块旨在提供与书写模式(writing mode)无关的布局和样式描述方式,使得元素在不同书写模式(如ltr、rtl、ttb等)下能够统一、适当地处理边框,它和border-block的区别在于他设置的是border-block的另外两个方向的边框

二、逻辑属性与物理属性对应关系

  • border-inline 对应于:

    • LTR模式(从左到右):border-leftborder-right
    • TTB模式(从上到下):border-topborder-bottom
  • border-inline-start 对应于:

    • LTR模式border-left
    • TTB模式border-top
  • border-inline-end 对应于:

    • LTR模式border-right
    • TTB模式border-bottom

三、用法与语法

border-inline 属性是 border-inline-widthborder-inline-styleborder-inline-color 三个子属性的复合写法,允许在一个声明中设置内联边框的所有属性。语法格式如下:

css">element {border-inline: border-width border-style border-color;
}

示例:

css">.box {border-inline: 1px solid #333;
}

此例为 .box 元素设置了宽度为 1 像素、样式为实线、颜色为深灰色的内联边框。

四、子属性详解

  1. border-inline-width

    • 设置内联边框的宽度。
    • 接受与 border-width 相同的值,如像素值、百分比(仅适用于替换元素,且仅影响 border-inline-startborder-inline-end)、关键字(如 thinmediumthick)。
  2. border-inline-style

    • 确定内联边框的样式。
    • 可选值包括:nonehiddendotteddashedsoliddoublegrooveridgeinsetoutset 等。
  3. border-inline-color

    • 定义内联边框的颜色。
    • 可以是任何有效的 CSS 颜色值,如关键词、十六进制、RGB、RGBA、HSL、HSLA 等。
    • 若未指定,将采用元素的 color 属性计算值作为边框颜色。

五、适用场景

  • 响应式布局:在需要创建适应不同屏幕尺寸和设备方向的网页时,使用逻辑属性能确保边框随内容流方向自动调整。
  • 多语言支持:对于包含多种书写模式(如ltr、rtl、ttb)的多语言网站,使用 border-inline 等逻辑属性可以确保边框样式在不同语言环境中正确显示,无需为每种书写模式单独编写CSS规则。

六、示例代码

<div class="example-box">This is a box with an inline border.</div><style>css">
.example-box {writing-mode: vertical-lr; /* 可尝试改为horizontal-tb或其他书写模式观察效果 */display: inline-block;padding: 1em;border-inline: 2px dashed coral;
}
</style>

本例中,.example-box 具有 writing-mode: vertical-lr,内容呈垂直排列。通过 border-inline 属性为其添加了内联方向的边框。更改 writing-mode 时,内联边框会自动调整其对应的方向,无需修改边框相关的 CSS 代码。

七、总结

border-inline 是 CSS 逻辑属性的重要组成部分,用于在书写模式无关的情况下设置元素的内联方向边框。掌握并运用这些逻辑属性有助于创建出更灵活、适应性更强的网页布局和样式,特别是在响应式设计和多语言支持场景中。

八、兼容性:

在这里插入图片描述

最后看一下效果案例:

https://jsrun.net/QJ5Kp


http://www.ppmy.cn/embedded/20811.html

相关文章

openEuler 22.03 LTS SP3(华为欧拉)一键安装 Oracle 11GR2 RAC(231017)

前言 Oracle 一键安装脚本&#xff0c;演示 openEuler 22.03 LTS SP3 一键安装 Oracle 11GR2 RAC&#xff08;231017&#xff09;过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地…

4.串口通信

USART波特率为9600&#xff0c;采用8倍过采样 USART6 fck频率&#xff1a;84Mhz; USARTDIV 1093.75 DIV_M (u32)USARTDIV DIV_F (USARTDIV - DIV_M) * 8 0.5 USART6->BRR | (DIV_M << 4) | DIV_F float USARTDIV;u32 DIV_M,DIV_F;RCC->AHB1ENR | 1;//端口A使…

milvus indexcoord启动源码分析

indexcoord启动源码分析 // IndexCoord implements IndexCoord grpc server type IndexCoord struct{}indexcoord已经和datacoord合并。 // NewIndexCoord creates a new IndexCoord func NewIndexCoord(ctx context.Context, factory dependency.Factory) (*IndexCoord, err…

前端HTML5学习2(新增多媒体标签,H5的兼容性处理)

前端HTML5学习2新增多媒体标签&#xff0c;H5的兼容性处理&#xff09; 分清标签和属性新增多媒体标签新增视频标签新增音频标签新增全局属性 H5的兼容性处理 分清标签和属性 标签&#xff08;HTML元素&#xff09;和属性&#xff0c;标签定义了内容的类型或结构&#xff0c;而…

《架构风清扬-Java面试系列第25讲》聊聊ArrayBlockingQueue的特点及使用场景

ArrayBlockingQueue是BlockingQueue接口的一个实现类之一 这个属于基础性问题&#xff0c;老规矩&#xff0c;我们将从使用场景和代码示例来进行讲解 来&#xff0c;思考片刻&#xff0c;给出你的答案 1&#xff0c;使用场景 实现&#xff1a;基于数组实现的有界阻塞队列&…

变频器基础原理

文章目录 0. 基本知识1.三相的电压之和为02.正弦交流相量的相量表示法(相量只是表示正弦量&#xff0c;而不等于正弦量 &#xff1b;只有正弦量才能用相量表示)引入相量表示法目的:一种正弦量的产生方式:正弦量的相量表示&#xff0c;使用欧拉公式表示复数 3.用复数表示正弦量&…

Vue.js 的事件循环(Event Loop)机制

Vue.js 的事件循环&#xff08;Event Loop&#xff09;行为本质上遵循 JavaScript 的标准事件循环机制&#xff0c;这是因为 Vue 是构建在 JavaScript 之上的。不过&#xff0c;Vue 在其数据响应式系统中巧妙地利用了这一机制来实现高效的视图更新。下面简要介绍 Vue.js 中涉及…

Pytorch:Dataset类和DataLoader类

文章目录 一、Dataset 类1、定义2、示例 二、DataLoader 类1、定义2、参数3、示例&#xff1a;使用 DataLoader 三、总结四、实战1、load_data函数&#xff1a;2、IrisDataset类3、DataLoader 的使用 在机器学习和深度学习框架中&#xff0c;尤其是在 PyTorch 中&#xff0c;Da…