HTML标签的width属性对数字和字母不生效

news/2024/7/24 2:06:59 标签: CSS

目录

文本自动换行样式 word-break: break-all

强制换行 word-break: break-all 怎么用 ?

white-space 属性的 normal 值和 nowrap 值的区别


HTML 标签 的 width 属性设置为 200px ,但对 数字 和 字母 无效 ?对中文有效 ;

数字 或者 字母 的 长度 大于 200px ,依然 不换行 ,

似乎是将这一长串的 数字 当做了 一个汉字 一般 ,

能把单元格顶到他们的换行处才换行
数字 和 字母 有 空 格 的话,确实是 200px 换行 ,

但 一连串 无空格 的 数字 怎么让它处在 width=200px 的 约束 下呢 ?


问题解决结果:
<td style="word-break: break-all;" width="200"> '


连续 不间断 字符间没有 空格 ,在西文中这是一个完整的单词( word ),

默认情况下,在 任何标签 里用 连续 不间断 的 字母 或者 数字 都不会自动换行的。

一般这种情况也多数是在写 demo 测试的时候才会出现,正常使用是极少出现的。

不过在某些地方能有预见性的进行 强制换行 那也未尝不是一种好习惯。


汉字 一个字 是一个 word ,而 英文 和 数字 有空格 的时候才会认为是 一个 word

文本自动换行样式 word-break: break-all

未加该 word-break: break-all 样式时,

联系地址数据加载完全,但是显示不全。

全选复制可以得到所有字符。

加了 word-break: break-all 样式时,

联系地址数据加载完全,换行显示出全部字符。 

<template>
  <div>
    <li class="table-li">
      <div class="table-li-name">职位:</div>
      <div class="table-li-value" v-text="form.title ? form.title : '-'"></div>
    </li>
    <li class="table-li">
      <div class="table-li-name">性别:</div>
      <div
        class="table-li-value"
        v-text="form.gender === 0 ? '男' : '女'"
      ></div>
    </li>
    <li class="table-li">
      <div class="table-li-name">用户签名:</div>
      <div class="table-li-value" v-text="form.sign ? form.sign : '-'"></div>
    </li>
  </div>
</template>

<script>
export default {};
</script>

<style lang="scss" scoped>
.table {
  &-list {
    width: 100%;
    overflow: hidden;
  }
  &-li {
    width: 100%;
    padding: 8px 0;
    overflow: hidden;
    color: #303133;
    &-name {
      float: left;
      width: 84px;
      line-height: 20px;
      text-align: right;
      font-family: MicrosoftYaHei;
      font-size: 14px;
      color: #303133;
      letter-spacing: 0;
    }
    &-value {
      float: left;
      width: calc(100% - 120px);
      line-height: 20px;
      font-family: MicrosoftYaHei;
      margin-left: 14px;
      font-size: 14px;
      color: #303133;
      letter-spacing: 0;
      // 连续字符实现自动换行
      word-break: break-all;
    }
  }
  &-ul {
    margin: 14px 40px;
    padding: 0px;
  }
}
</style>

强制换行 word-break: break-all 怎么用 ?

一般情况下,元素拥有 默认的 white-space: normal

( 自动换行,PS:不换行 是 white-space: nowrap ),

当录入的 文字 超过定义的 宽度 后会 自动 换行,

但当录入的 数据 是一堆 没有 空格 的 字符 或 字母 或 数字

( 常规数据应该不会有吧,但有些测试人员是会这样子做的 ),

超过 容器宽度 时就会把 容器撑大 ,不换行。


解决方法( 以 IE ,Chrome , FF 为 测试浏览器):

{ 
 word-break: break-all;
 word-wrap: break-word;
}

以下是对这两种方法的区别说明:

1、word-break: break-all

例如 div 宽 200px ,它的 内容 就会到 200px 自动 换行,

如果该行末端有个 英文单词 很长( congratulation :祝贺  等 ),

它会把 单词 截断,变成该行末端为 conra ( congratulation 的 前段 部分 ),

下一行 为 tulation( conguatulation )的 后段部分了。

2、word-wrap: break-word 例子与上面一样,

但区别就是它会把 congratulation 整个单词 看成 一个整体 ,

如果该行 末端 宽度不够显示整个单词,它会自动把 整个单词 放到下一行,

而不会把单词截断掉的。


word-break: break-all 支持版本 :

IE5 以上 ,该行为与 亚洲语言 的 normal 相同 。

也允许 非亚洲语言 文本行的任意字内断开。

该值适合包含一些 非亚洲文本的 亚洲文本。

word-wrap: break-word 支持版本 :

IE5.5 以上 ,内容将在边界内换行。

如果需要,词内换行 ( word-break ) 也将发生。

表格自动换行,避免撑开。


语法:

word-break: normal  |  break-all  |  keep-all

参数:

normal : 依照 亚洲语言 和 非亚洲语言 的 文本规则,允许在字内 换行

break-all : 该行为与 亚洲语言 的 normal 相同。

也允许 非亚洲语言 文本行的任意字内断开。

该值适合包含一些 非亚洲文本 的 亚洲文本

keep-all : 与所有 非亚洲语言 的 normal 相同。

对于 中文,韩文,日文,不允许 字断开。

适合包含少量 亚洲文本 的 非亚洲文本


语法:

word-wrap : normal  |  break-word

参数:

normal : 允许内容顶开指定的容器边界

break-word : 内容将在边界内换行。

如果需要,词内换行( word-break )也行发生说明:

设置 或 检索 当 当前行 超过指定容器的边界时 是否断开 转行。

  建议:word-break 用 3C 检测会显示问题的,导致 百度快照 也会出问题

- 这个属性 OPERAFIREFOX 浏览器也不支持 word-break 属性

可以用 white-space: normal; 来代替,

这样在 FireFox 和 IE 下就都能正确换行,

而且要注意,单词 间的 空格 不能用来代替,不然不能正确 换行。

white-space 属性的 normal 值和 nowrap 值的区别

white-space 属性

  1. normal :默认 对文本的处理方式,文本 自动处理 换行,到达容器边界的内容会自动转到下一行。
  2. nowrap :强制在同一行内显示所有文本,直到文本结束或者文本后面有标签。

举例代码 :

<template>
  <div class="white">
    <h3>这是一行文字 这是一行文字 这是一行文字</h3>
  </div>
</template>

<script>
export default {};
</script>

<style lang="scss" scoped>
.white {
  width: 200px;
  height: 200px;
  background-color: #3dff48;
  /*white-space: normal;*/
  white-space: nowrap;
}
</style>

1. white-space: normal 效果图

2. white-space: nowrap 效果图


http://www.niftyadmin.cn/n/1498061.html

相关文章

进行数据离散化的原因_数据处理 | pandas入门专题——离散化与one-hot

今天是pandas数据处理专题第7篇文章&#xff0c;可以点击上方专辑查看往期文章。在上一篇文章当中我们介绍了对dataframe进行排序以及计算排名的一些方法&#xff0c;在今天的文章当中我们来了解一下dataframe两个非常重要的功能——离散化和one-hot。离散化离散对应的反面是连…

JavaScript06——作用域、作用域链、预解析

1 - 作用域 1.1 作用域概述 1 2 3 通常来说&#xff0c;一段程序代码中所用到的名字并不总是有效和可用的&#xff0c;而限定这个名字的可用性的代码范围就是这个名字 的作用域。作用域的使用提高了程序逻辑的局部性&#xff0c;增强了程序的可靠性&#xff0c;减少了名字冲突…

教你如何用纯CSS代码实现垂直居中

目录 方法1&#xff1a;设定行高 ( line-height ) 方法2&#xff1a;绝对定位 方法3&#xff1a;利用 transform 方法4&#xff1a;使用表格或假装表格 方法5&#xff1a;使用 Flexbox 十种水平垂直居中方案 &#xff1a; 在编辑一个页面时&#xff0c;通常用到 水平居中…

17秋 软件工程 结对项目 第一次作业(队友副本)

17秋 软件工程 结对项目 第一次作业 成员 陈翔&#xff0c;031502209&#xff1b;李鸣&#xff0c;031502316。客户需求 0.背景 开学初加入学生会部门的迫切需求——选择部门和课余时间冲突之烦恼 选择部门的现状&#xff1a; 各个部门在开学初占据学校青春广场有利位置&#x…

用python实现祝福弹窗_Python实现爆火抖音的弹窗表白软件

Python GUI实现爆火抖音的弹窗表白最近抖音爆火的窗口表白 心中的女孩如果收到了&#xff0c;肯定会看着满屏幕的窗口感动不止&#xff0c;对你倾心 本文是正常版本的源码&#xff0c;BT版本的源码链接待审核 源码 1.正常版本点击喜欢或者不喜欢都会关闭对话框2.BT(变态)版本对…

记录Vue.Draggable拖拽组件的使用历程

项目开发中需要用到 拖拽组件&#xff0c;因为 前端技术框架 是 Vue &#xff0c; 这里就使用了 Vue 的一款 拖拽插件 vue.draggable &#xff0c; 一般基本的需求都能满足 &#xff0c;这里使用了多个 draggable 嵌套&#xff0c;达到两级之间相互拖拽的功能。 以下是类似 t…

c++ string取子串_Integer与String的设计哲学

秦子帅明确目标&#xff0c;每天进步一点点.....作者 | DK_BurNIng地址 | juejin.im/post/5e787a0ef265da572a0d20beInteger与String的不同先来看一段代码&#xff1a;package com.utils;public class MemTest {public static void main(String[] args) { Integer i1 …

JavaScript07——对象

1 - 对象 1.1 对象的相关概念 什么是对象? 在 JavaScript 中&#xff0c;对象是一组无序的相关属性和方法的集合&#xff0c;所有的事物都是对象&#xff0c;例如字符串、数值、数 组、函数等。 对象是由属性和方法组成的。 属性:事物的特征&#xff0c;在对象中用属性来表示(…