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

ops/2024/10/19 13:20:26/

border-block 是 CSS 中的一个属性,主要用于在样式表中一次性设置元素的逻辑块向边框的属性值。这个属性是简写属性,可以同时设置 border-block-width、border-block-style 和 border-block-color。其中,border-block-start 用于设置元素的开始边界样式,而 border-block-end 用于设置元素的结束边界样式。在 CSS Grid 或 Flexbox 布局中,它尤其有用,因为它可以让你同时控制元素的顶部和底部边框,或者左侧和右侧边框,而无需分别指定 border-topborder-bottomborder-leftborder-right。以下是关于 border-block 属性的详细介绍:

1. 语法与属性值

css">/* 简写形式 */
border-block: <border-width> || <border-style> || <color>;
/* 单独分开属性 */
border-block-width: <border-width>;
border-block-style: <border-style>;
border-block-color: <color>;/* 不同方向分开形式 */
border-block-start: <border-width> || <border-style> || <color>;
border-block-end: <border-width> || <border-style> || <color>;/* 设置开始方向分开形式 */
border-block-start-width: <border-width>;
border-block-start-style: <border-style>;
border-block-start-color: <color>;/* 设置结束方向分开形式 */
border-block-end-width: <border-width>;
border-block-end-style: <border-style>;
border-block-end-color: <color>;
  • <border-width>:指定边框宽度,可以是具体的长度单位(如 px、em)、百分比、关键词(如 thin、medium、thick)或 initialinherit
  • <border-style>:定义边框样式,如 solid(实线)、dashed(虚线)、dotted(点状线)、double(双线)等,还包括 none(无边框)、hidden(隐藏边框)以及 initialinherit
  • <color>:指定边框颜色,可以是颜色名称、十六进制、RGB/RGBA、HSL/HSLA、关键字(如 transparent)或 currentColor

2. 工作原理

border-block 属性遵循 CSS 的物理盒模型,根据元素的书写模式(writing mode)确定边框的位置。在默认的水平书写模式(writing-mode: horizontal-tb)下:

  • border-block-start 对应于 border-top
  • border-block-end 对应于 border-bottom

当书写模式改变时,如设置为垂直模式(如 writing-mode: vertical-rlvertical-lr),border-block 的行为也会相应调整:

  • border-block-start 对应于 border-leftborder-right
  • border-block-end 对应于 border-rightborder-left

3. 使用示例

css">/* 简写形式,同时设置左右边框为 1px 宽度的实线红色边框 */
.example {border-block: 1px solid red;
}/* 长度形式,分别设置顶部和底部边框 */
.example {border-block-start: 2px dotted blue;border-block-end: 3px groove green;
}/* 分别设置边框宽度、样式和颜色 */
.example {border-block-width: thick;border-block-style: double;border-block-color: #333;
}

案例效果:https://jsrun.net/vJ5Kp/
4. 特性与优势

  • 响应式布局友好:在响应式设计中,当页面布局发生变化(如从水平变为垂直方向)时,使用 border-block 可以确保边框位置自动适应新的书写模式,无需额外编写媒体查询或更改其他样式。
  • 代码简洁:相比单独设置四个边框属性,border-block 可以减少重复代码,提高代码可读性和维护性。
  • 对齐控制:在 CSS Grid 或 Flexbox 布局中,border-block 有助于更精确地控制元素的对齐和间距,特别是在处理多列、多行布局时。

5. 注意事项

  • 浏览器兼容性:虽然 border-block 是 CSS Logical Properties and Values Level 1 规范的一部分,但并非所有浏览器都完全支持。在编写代码时,需要考虑兼容性问题,可能需要提供 fallback 方案或使用 autoprefixer 进行前缀处理。
  • 与传统边框属性的关系border-block 不会覆盖传统的 border-topborder-bottomborder-leftborder-rightborder 属性。如果同时设置了这些属性和 border-block,浏览器将按照层叠顺序(CSS specificity)决定最终应用的样式。

总结,border-block 属性为 CSS 开发者提供了更符合逻辑思维方式的边框控制方式,特别是在处理响应式布局和复杂网格、弹性布局时,能够简化代码、提升效率并增强布局的灵活性。但在实际应用中需关注浏览器兼容性,并合理结合传统边框属性进行样式设定。

兼容性:
在这里插入图片描述


http://www.ppmy.cn/ops/19933.html

相关文章

Python项目开发实战:动物分拣器的实现

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python项目开发实战_动物分拣器的实现_编程案例解析实例详解课程教程.pdf 1、步骤 一、项目背景与目标 在生物研究、动物园管理以及动物保护等领域中…

SpringCloud系列(11)--将微服务注册进Eureka集群

前言&#xff1a;在上一章节中我们介绍并成功搭建了Eureka集群&#xff0c;本章节则介绍如何把微服务注册进Eureka集群&#xff0c;使服务达到高可用的目的 Eureka架构原理图 1、分别修改consumer-order80模块和provider-payment8001模块的application.yml文件&#xff0c;使这…

Java、Android面试高频系列文章合集

本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&#xff0c;后续会陆续分享出来&#xff0c;感兴趣的朋友可关注收…

ESBMC代码阅读笔记

文档描述 本文档为对ESBMC模型检测工具进行代码阅读随手写的文档&#xff0c;该文档针对工具ESBMC version 7.5.0 64-bit x86_64 linux 的BMC框架进行代码阅读&#xff0c;主要关注其BMC算法框架&#xff0c;数据结构以及如何从BMC得到的中间数据结构进行SMT编码的过程。本文档…

elment-table实现行滚动效果

通过获取dom &#xff0c;来控制表格滚动 <template><div class"scroll_table"><div style"display: inline-block; width: 100%"><el-table:data"tableData"ref"table"borderheight"100%"highlight-c…

OpenCV直方图计算

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV实现直方图均衡 下一篇 :OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 cv::split 将图像划分…

一则 TCP 缓存超负荷导致的 MySQL 连接中断的案例分析

除了 MySQL 本身之外&#xff0c;如何分析定位其他因素的可能性&#xff1f; 作者&#xff1a;龚唐杰&#xff0c;爱可生 DBA 团队成员&#xff0c;主要负责 MySQL 技术支持&#xff0c;擅长 MySQL、PG、国产数据库。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使…

钡铼IOy系列模块与云平台结合,实现工业设备远程运维与预测性维护

在当今数字化、智能化趋势下&#xff0c;工业设备的运维模式正在经历一场深刻变革。钡铼技术有限公司以其创新研发的IOy系列模块为核心&#xff0c;巧妙地将多元信号类型自由组合与云平台深度融合&#xff0c;成功构建了一套高效、精准的工业设备远程运维与预测性维护体系。 一…