zoukankan      html  css  js  c++  java
  • div中的内容超过容器宽度的问题

    问题描述:

    <div class="category">
        <div class="column-a">排名</div>
        <div class="column-b">参赛选手</div>
        <div class="column-c">月收益</div>
        <div class="column-d">月收益率</div>
    </div>

    在一个div中横向放置了4个inline-block,宽度为百分比,加起来总共是100%。当其中一个inline-block的文字内容超过元素本身的宽度时,发现其他3个inline-block位置会发生改变,但是如果这个inline-block的内容如果为数字或者一整个连续的英文字符串,其他3个inline-block的位置不会发生改变,不过如果这个inline-block的内容为英文段落(单词之间有空格)并且内容超过元素本身的宽度时,其他3个inline-block的位置还是会发生改变。

    原因:浏览器在解析我们页面的时候,会把一串数字当成一个单词,这样就不会自动切断字符串而进行换行。同理,一整个连续的英文字符串(fyhbfhnfsjgydjnfxghfxghghfghfhfghfghfghfg)也不会自动切断字符串而进行换行。如果是文字或者英文段落(单词之间有空格)并且内容超过元素本身的宽度时,则会自动换行。

    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-spacing和white-space的区别,它们长得也有点像。
    word-spacing是单词之间间距的,white-space是字符是否换行显示的。规定段落中的文本不进行换行可以使用white-space:nowrap;

  • 相关阅读:
    浅析七种经典排序算法
    一个可编辑与新增博客园文章的 Python 脚本
    快速排序的几种实现方式
    如何查找某个网站的(如:有道云笔记)的接口
    一键导出「有道云笔记」所有笔记
    2020年启蒙及小学识字练字APP或小程序测评榜
    2020年部编版小学二年级语文上册知识点(完整版)
    2020年部编人教版小学语文一年级下册知识点汇总
    换个角度,程序员爸爸应该关注一下
    计算机基础知识-I/O篇
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/8880635.html
Copyright © 2011-2022 走看看