当前位置: 首页 > 编程日记 > 正文

文本相关CSS


  • 文本相关CSS
    • 属性
      • word-break
      • overflow-wrap(word-wrap)
      • white-space
      • text-overflow
      • text-wrap(目前主流浏览器都不支持)
    • 应用
      • 一般断行需求
      • 实现文本不换行,以省略号表示超出的部分
    • 参考资料

属性

word-break

  • 作用:指定非CJK(中日韩)文本的断行规则。(对中文也会有影响)
  • 取值:

    描述
    normal使用浏览器默认的换行规则。
    break-all允许在单词内换行。
    keep-all只能在半角空格或连字符处换行。
    • keep-all对英文和normal相同。
    • keep-all会影响中文,导致中文遇到标点符号就换行,没遇到就超出容器。
  • 浏览器兼容性:主流浏览器都支持

overflow-wrap(word-wrap)

  • 作用:当word-break不为break-all时,取值break-word可以让一行放不下的单词断行。
  • 取值:

    描述
    normal只在允许的断字点换行(浏览器保持默认处理)。
    break-word在长单词或 URL 地址内部进行换行。
  • 浏览器兼容性:
    overflow-wrap: 为word-wrap在css3标准中名字。在chrome和opera中支持。微软的浏览器不支持。
    word-wrap: 为微软私有的名字,但基本所有浏览器都支持。

white-space

  • 作用:设置如何处理元素内的空白
    1. 不仅仅处理文本空白。也处理div等里面的空白。
    2. 注意空白包括空格和空行。
  • 取值:

    描述
    normal默认。空白会被浏览器忽略。(多个空格保留了一个(要实现多个空格用 ),空行删除)
    pre空白会被浏览器保留,且不会断行,其行为方式类似 HTML 中的 <pre> 标签。
    nowrap文本不会断行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
    pre-wrap保留空白符序列,但是正常地进行换行。
    pre-line合并空白符序列,但是保留换行符。
    inherit(IE不支持)规定应该从父元素继承 white-space 属性的值。
  • 浏览器兼容性:所有浏览器都支持。

text-overflow

  • 作用:规定当文本溢出包含元素时发生的事情。
  • 取值:

    描述
    clip(默认值)修剪文本
    ellipsis显示省略符号来代表被修剪的文本。
    任意string(只在 Firefox 浏览器下有效)使用给定的字符串来代表被修剪的文本。

text-wrap(目前主流浏览器都不支持)


应用

一般断行需求

注意区分断行和换行,断行一行放不下时浏览器自动放到下一行(控制权在浏览器),换行为使用br标签主动放到下一行(控制权在编码人)。

  • 中文:按字断行
  • 英文(包括数字):

    1. 按词断行,一个词一行剩余的空间放不下,则空出来放下一行。
    2. 若下一整行也放不下,则放不下的词中的字放下一行(按字断行)

浏览器一般默认实现了中文和英文的第一点,而在一个词一整行也放不下时,浏览器默认会让文本超出容器显示。
只需加上overflow-wrap:break-word即可实现英文第二点。

实现文本不换行,以省略号表示超出的部分

  overflow: hidden;white-space: nowrap;<!-不换行 ->text-overflow:ellipsis;<!-超出部分显示省略号 ->

效果如下:
https://github.com/LeesonVictor/notebook/blob/master/images/%E5%9B%BE%E7%89%87/%E6%96%87%E6%9C%AC%E8%B6%85%E5%87%BA%E7%9C%81%E7%95%A5%E5%8F%B7%E6%95%88%E6%9E%9C%E5%9B%BE.png?raw=true

参考资料

  • https://drafts.csswg.org/css-text-3/
  • word-break、word-wrap和white-space
  • 彻底搞懂word-break、word-wrap、white-space

转载于:https://www.cnblogs.com/victor-leeson/p/10707928.html

相关文章:

Rocksdb 的优秀代码(三)-- 工业级 线程池实现分享

文章目录前言1. Rocksdb线程池概览2. Rocksdb 线程池实现2.1 基本数据结构2.2 线程池创建2.3 线程池 调度线程执行2.4 线程池销毁线程2.5 线程池优先级调度2.6 动态调整线程池 线程数目上限3. 总结前言 Rocksdb 作为一个第三方库的形态嵌入到各个存储系统之中存储元数据&#…

Java项目:网上电商项目(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统功能包括&#xff1a; 一款基于SpringbootVue的电商项目&#xff0c;前后端分离项目&#xff0c;前台后台都有&#xff0c;前台商品展示购买&#xff0c;购物车分类&#xff0c;订 单查…

3月7日 ArrayList集合

ArrayList与数组的区别&#xff1a; 数组是连续的、同一类型数据的一块区域&#xff0c;而集合可以是不连续的、多种数据类型的。 1.ArrayList ArrayList al new ArrayList(); al.Add(3); al.Add(5.09); al.Add("gfdg"); al.Inse…

什么时候出生好?

从年龄来说&#xff0c;女人头一胎的怀孕时间最好在35岁以前&#xff0c;因为过了35岁后不孕和头胎生育缺陷的比例会大幅度升高。那么&#xff0c;从孩子的角度&#xff0c;什么时候出生好&#xff1f;很多人不考虑这个问题&#xff0c;能不能怀上还难说那。迷信的人则追求出生…

数据库搜索与索引

索引是对数据库表中一列或多列的值进行排序的一种结构&#xff0c;使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她&#xff0c;则与在表中搜索所有的行相比&#xff0c;索引有助于更快地获取信息。 索引的一个主要目的就是加快检索表中数据&#x…

Clion 远程开发 配置

文章目录1. 增加远端服务工具2. 配置远端服务器3. 配置编译选项4. 设置远端开发路径Clion作为C/C语言友好的IDE&#xff0c;除了高效的代码索引 以及 基本的本地开发 能力之外还需要有远程开发能力&#xff0c;即我们工作中的代码处于远端linux服务器之上&#xff0c;通过在本地…

Java项目:朴素风个人博客系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统功能包括&#xff1a; 基于vue Springboo痼J后端分离项目个人博客系统&#xff0c;注册 登录&#xff0c;首页展示&#xff0c;喜爰图书展示&#xff0c;后台图书维护&#xff0c;个人…

NodeJS+Mongodb+Express做CMS博客系统

楼主正在用业余时间开发中…… &#xff0c;目前的版本仅支持会员系统&#xff0c;尝鲜一下吧~ hi-blog 一个 nodejsexpressmongodb 的 cms 系统怎么启动 默认你已经安装了 mongodb &#xff1b;那么你得这样操作&#xff1a;安装项目 -> 初始化管理员 -> 运行项目 1、请…

Piranha实验总结

操作系统&#xff1a;rhel5.8分别在DirectorMaster和DirectorBackup上部署浮动资源(VIP IPVS策略)测试2个Director在DR模式下是否都可以正常工作。测试完成后都撤掉浮动资源。DirectorMaster[rootlocalhost ~]#yum install piranha[rootlocalhost ~]#piranha-passwdNew Passwor…

虚IP切换原理

高可用性HA&#xff08;High Availability&#xff09;指的是通过尽量缩短因日常维护操作&#xff08;计划&#xff09;和突发的系统崩溃&#xff08;非计划&#xff09;所导致的停机时间&#xff0c;以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的…

vim 键盘宏操作 -- 大道至简

最近利用vim做一些文本处理时 发现vim 支持的键盘宏是一个好东西啊&#xff0c;高效优雅得处理大量需要重复性操作的文本&#xff0c;让人爱不释手&#xff01;&#xff01;&#xff01; 希望接下来对键盘宏的分享能够实际帮助到大家。 后文中描述的一些vim操作会汇集成指令字…

Java项目:家居购物商城系统(java+html+jdbc+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; Java Web精品项目源码&#xff0c;家居商城分类展示&#xff0c;商品展示&#xff0c; 商品下单&#xff0c;购物车&#xff0c;个人中心&#xff0c;后台管理&#xff0c;用…

leetcode:Search in Rotated Sorted Array

题目要求&#xff1a; Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target value to search. If found in the array return its index, otherwise return -1. You may a…

解决Debian-7.1下Chrome浏览器字体难看的问题

首先在 Advance Setting 的 font 标签页下做如下配置&#xff1a; 然后在用户目录下创建 .fonts.conf 文件&#xff0c;内容如下&#xff1a; <?xml version1.0?> <!DOCTYPE fontconfig SYSTEM fonts.dtd> <fontconfig><match target"font"&g…

HDU.4903.The only survival(组合 计数)

题目链接 惊了 \(Description\) 给定\(n,k,L\)&#xff0c;表示&#xff0c;有一张\(n\)个点的无向完全图&#xff0c;每条边的边权在\([1,L]\)之间。求有多少张无向完全图满足&#xff0c;\(1\)到\(n\)的最短路为\(k\)。\(n,k\leq 12,\ L\leq10^9\)。 \(Solution\) 考虑暴力&a…

Rocksdb 写入数据后 GetApproximateSizes 获取的大小竟然为0?

项目开发中需要从引擎 获取一定范围的数据大小&#xff0c;用作打点上报&#xff0c;测试过程中竟然发现写入了一部分数据之后通过GetApproximateSizes 获取写入的key的范围时取出来的数据大小竟然为0。。。难道发现了一个bug?&#xff08;欣喜&#xff09; 因为写入的数据是…

Java项目:在线婚纱摄影预定系统(java+javaweb+SSM+springboot+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 前后用户的登录注册&#xff0c;婚纱照片分类&#xff0c;查看&#xff0c;摄影师预 订&#xff0c;后台订单管理&#xff0c;图片管理等等。 二、项目运行 环境配置&am…

Linux Terminal 控制终端的使用

1. Open new Terminal&#xff1a;Ctrl Alt T 或者 Ctrl Shift N 2. Open Tab&#xff1a;Ctrl Shift T 3. Close Tab&#xff1a;Ctrl Shift W 4. Close Window&#xff1a;Ctrl Shift Q 5. Copy : Ctrl Shift C 6. Paste: Ctrl Shift V 7. Full Screen: F11 8.…

如何防止代码腐烂

http://blog.jobbole.com/5643/ 很多团队都有这个问题&#xff0c;一个项目的代码本来开始设计得好好的&#xff0c;一段时间以后&#xff0c;代码就会变得难以理解&#xff0c;难以维护&#xff0c;难以修改。为什么&#xff1f;我一直在思考这个问题。 让我们先看一个人的情况…

CORS在Spring中的实现

CORS: 通常情况下浏览器禁止AJAX从外部获取资源&#xff0c;因此就衍生了CORS这一标准体系&#xff0c;来实现跨域请求。 CORS是一个W3C标准&#xff0c;全称是"跨域资源共享"&#xff08;Cross-origin resource sharing&#xff09;。它允许浏览器向跨源(协议 域名…

从BloomFilter到Counter BloomFilter

文章目录前言1. Traditional BloomFilter2. Counter BloomFilter本文traditional bloomfilter 和 counter bloomfilter的C实现 均已上传至&#xff1a; https://github.com/BaronStack/BloomFilter 前言 Bloomfilter 是一个老生常谈的数据结构&#xff0c;应用在存储领域的各…

进程、线程、多线程相关总结

进程、线程、多线程相关总结 一、说说概念 1、进程&#xff08;process&#xff09; 狭义定义&#xff1a;进程就是一段程序的执行过程。 广义定义&#xff1a;进程是一个程序关于某个数据集合的一次运行。它是操作系统动态执行的基本单元&#xff0c;在传统的操作系统中&#…

Java项目:在线蛋糕商城系统(java+jsp+jdbc+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 主页显示热销商品&#xff1b;所有蛋糕商品展示&#xff0c;可进行商品搜 索&#xff1b;点击商品进入商品详情页&#xff0c;具有立即购买和加入购物 车功能&#xff0c;可…

业界对生成图片缩略图的做法归纳

网站如果有很多用户上传图片(相册&#xff0c;商品图片)&#xff0c;一般的做法是将用户图片保存在磁盘上面(数据库中记录图片的地址)。用户上传的时候按照原图、中图、小图等各个尺寸都生成一份保存在磁盘上。比如php的网店系统echsop就是这么做的&#xff0c;而shopex之类也大…

thinkPHP5.0 URL路由优化

在tp中访问页面的时候URL地址是 域名/模块/控制器/方法&#xff0c;在点击首页的时候URL是 域名/index/index/index 而不是只显示域名&#xff0c;这样不利于SEO&#xff0c;而且强迫症的我看着很不爽&#xff0c;这个时候我们需要优化路由 Route::rule(路由表达式,路由地址,请…

Rocksdb 获取当前db内部的有效key个数 (估值)

文章目录1. 基本接口2. Memtable key个数统计3. Immutable Memtable key个数统计4. Sstables key个数统计5. 疑问Rocksdb因为是AppendOnly 方式写入&#xff0c;所以没有办法提供db内部唯一key个数的接口&#xff08;可能存在多版本的key&#xff0c;对用户来说只有一个userkey…

Java项目:网上花店商城系统(java+jsp+servlert+mysql+ajax)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 一套完整的网上花店商场系统&#xff0c;系统支持前台会员的注册 登陆系统留言&#xff0c;花朵的品种选择&#xff0c;详情浏览&#xff0c;加入购物 车&#xff0c;购买花…

使用Uboot启动内核并挂载NFS根文件系统

配置编译好内核之后&#xff0c;将生成的内核文件uImage拷贝到/tftpboot/下&#xff0c;通过tftp服务器将内核下载到开发板&#xff0c;使用命令&#xff1a;tftp 31000000 uImage.下载完成之后配置bootargs环境变量&#xff1a;setenv bootargs noinitrd consolettySAC0,11520…

Centos系统上安装php遇到的错误解决方法集锦

Centos系统上安装php遇到的错误解决方法集锦1.configure: error: xml2-config not found. Please check your libxml2 installationyum install libxml2 libxml2-devel2.configure: error: Cannot find OpenSSL’s yum install openssl openssl-devel3.configure: error: Pleas…

2.27 MapReduce Shuffle过程如何在Job中进行设置

一、shuffle过程 总的来说&#xff1a; *分区 partitioner*排序 sort*copy (用户无法干涉) 拷贝*分组 group可设置 *压缩 compress*combiner map task端的Reduce二、示例 package com.ibeifeng.hadoop.senior.mapreduce;import java.io.IOException; import java.util.StringTo…