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;

  • 相关阅读:
    FunctionGraph无缝集成Express应用
    三分钟迁移Spring boot工程到Serverless
    分布式数据库中间件使用经验分享
    基于OAS设计可扩展OpenAPI
    从一次小哥哥与小姐姐的转账开始, 浅谈分布式事务从理论到实践
    分布式数据库DDM Sidecar模式负载均衡
    Redis缓存数据库安全加固指导(二)
    数据存储课后作业
    GrideVlew提供点击按钮添加新数据,单击项目修改,长按删除功能
    AutoCompleteTextView,Spinner,消息提示
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/8880635.html
Copyright © 2011-2022 走看看