码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【CSS系列】writing-mode —— 文字方向(水平/垂直;左右/右左)


    文章目录

    • 一、引子
    • 二、writing-mode
      • 1.语法
        • horizontal-tb(默认:水平方向,文字 从左到右,行 从上到下)
        • vertical-rl(垂直方向,文字 从上到下,行 从右到左)
        • vertical-lr(垂直方向,文字 从上到下,行 从左到右)
        • sideways-rl (实验值)
        • sideways-lr (实验值)
      • 2.属性搭配
        • (1)盒子垂直居中 —— `margin: auto 0;`
        • (2)文本图片垂直居中 —— `text-align: center;`
        • (3)首行缩进 变 文字下沉 —— `text-indent`
        • (4)其他
      • 3.前世今生
    • 三、拓展学习
      • direction
    • ⭐️ 好书推荐
        • 《Node.js从基础到项目实践(视频教学版)》


    • 文档:writing-mode - CSS:层叠样式表 | MDN

    一、引子

    项目中有需求需要文字垂直排布,第一时间想到了 CSS 中的 direction 这个属性,但这个属性只能设置文字“从左到右“或从右到左,经过查找才发现有个”生僻属性“ —— writing-mode

    如下即可实现:

    writing-mode: vertical-lr;
    
    • 1

    二、writing-mode

    writing-mode 属性定义了文本水平或垂直排布以及在块级元素中文本的行进方向。

    1.语法

    /* 关键字值 */
    writing-mode: horizontal-tb;
    writing-mode: vertical-rl;
    writing-mode: vertical-lr;
    
    /* 全局值 */
    writing-mode: inherit;
    writing-mode: initial;
    writing-mode: revert;
    writing-mode: revert-layer;
    writing-mode: unset;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    horizontal-tb(默认:水平方向,文字 从左到右,行 从上到下)

    对于左对齐(ltr)文本,内容从左到右水平流动。对于右对齐(rtl)文本,内容从右到左水平流动。下一水平行位于上一行下方。

    vertical-rl(垂直方向,文字 从上到下,行 从右到左)

    对于左对齐(ltr)文本,内容从上到下垂直流动,下一垂直行位于上一行左侧。对于右对齐(rtl)文本,内容从下到上垂直流动,下一垂直行位于上一行右侧。

    vertical-lr(垂直方向,文字 从上到下,行 从左到右)

    对于左对齐(ltr)文本,内容从上到下垂直流动,下一垂直行位于上一行右侧。对于右对齐(rtl)文本,内容从下到上垂直流动,下一垂直行位于上一行左侧。

    sideways-rl (实验值)

    对于左对齐(ltr)文本,内容从下到上垂直流动。对于右对齐(rtl)文本,内容从上到下垂直流动。所有字形(即使是垂直文本中的字形)都朝向右侧。

    sideways-lr (实验值)

    对于左对齐(ltr)文本,内容从上到下垂直流动。对于右对齐(rtl)文本,内容从下到上垂直流动。所有字形(即使是垂直文本中的字形)都朝向左侧。

    2.属性搭配

    writing-mode 可以改变文本排布方向,那么一些与文字相关的属性也会有更多妙用:

    (1)盒子垂直居中 —— margin: auto 0;

    <div class="container">
         <div class="content">div>
     div>
    
    • 1
    • 2
    • 3
    .container {
        width: 100%;
        height: 100%;
        background-color: #f00;
        writing-mode: vertical-lr;
    }
    .container .content {
        height: 100px;
        width: 200px;
        margin: auto 0;
        background-color: #0f0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意:定宽定高
    在这里插入图片描述

    (2)文本图片垂直居中 —— text-align: center;

    <div class="container">
        我是一行文字<br>程序边界<br>
        <img src="https://profile-avatar.csdnimg.cn/ea275d892df44c5fb722c5756f8ba98b_qq_32682301.jpg">
    div>
    
    • 1
    • 2
    • 3
    • 4
    .container {
        width: 100%;
        height: 100%;
        background-color: #0fF;
        writing-mode: vertical-lr;
        text-align: center;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    程序边界 原文地址:https://iseeu.blog.csdn.net/article/details/131709017

    (3)首行缩进 变 文字下沉 —— text-indent

    <div class="container">
        我是一行文字<br>程序边界<br>
    div>
    
    • 1
    • 2
    • 3
    .container {
        width: 100%;
        height: 100%;
        background-color: #0fF;
        writing-mode: vertical-lr;
        text-indent: 2rem;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    绝妙应用
    https://www.zhangxinxu.com/study/201604/writing-mode-text-indent-vertical-down.html
    在这里插入图片描述

    程序边界 原文地址:https://iseeu.blog.csdn.net/article/details/131709017

    (4)其他

    更多玩法慢慢探索发现,未完待续。。。

    3.前世今生

    writing-mode属性 最初只是ie中的属性,只有ie支持,现在在css3中谷歌,火狐也开始支持。

    所以使用的时候就需要记住两套不同的语法,ie的私有属性和css3的规范属性

    如果只需要兼容到ie8+就可以只使用css3的规范属性就可以了

    三、拓展学习

    direction

    文档:direction - CSS:层叠样式表 | MDN

    direction CSS 属性用于设置文本、表格列和水平溢出的方向。


    • 改变CSS世界纵横规则的writing-mode属性 « 张鑫旭-鑫空间-鑫生活
    • writing-mode属性 css古文写法

    ⭐️ 好书推荐

    《Node.js从基础到项目实践(视频教学版)》

    《Node.js从基础到项目实践(视频教学版)》以理论结合实践的形式,讲解了Node.js 基础、框架、进阶知识和项目实践。本书为视频教学版,每一章节都有相对应的视频讲解,通过视频讲解可快速切入主题,提高学习效率。

    全书分为4 大部分,共13 章,分别是Node.js 基础入门、Node.js 框架、Node.js 进阶以及企业项目实践。其中,第1~3 章为Node.js 基础入门讲解,包括Node.js 核心模块、自定义模块、第三方模块;第4~7 章为Node.js 框架讲解,包括Express 流行框架、MySQL 数据库、在Express 框架中操作MySQL 数据库以及Express 框架身份验证;第8~12 章为Node.js 进阶讲解,包括Node.js 事件循环、Koa 框架、socket.io、网络爬虫、GraphQL 基础语法;第13 章为企业项目实践讲解,使用Express 框架和MySQL 数据库完成x闻管理系统API 的开发。

  • 相关阅读:
    17.13使用元数据分析数据库(血干JAVA系类)
    Cilium系列-12-启用 Pod 的 BBR 拥塞控制
    G120变频器输入输出端子功能定义配置方法及示例
    MySQL主从复制
    解锁新机遇——易天欧洲ECOC通讯展预告,精彩即将开始!
    C++17一个很冷门很有意思的新特性
    python二次开发CATIA:测量曲线长度
    服务器为什么会丢包
    shiro
    第十五届蓝桥杯省赛C/C++大学B组真题及赛后总结
  • 原文地址:https://blog.csdn.net/qq_32682301/article/details/131709017
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号