zoukankan      html  css  js  c++  java
  • 不值一提,却又不得不提的“CSS文本超出部分省略号代替”

    偶然看到一篇类似css技巧与经验总结的文章,其中有一部分非常熟悉,那就是“css控制元素内文本超出部分使用省略号代替”,一般实际工作中,

    很多产品经理会对页面UI有这样的要求。还记得,第一次做这个功能时,是通过百度到的,然后就是一劳永逸,直接记事本记录下来,以后基本上

    就是拿来主义,根本就没有去研究一下其中的原理(其实也没什么原理,方法也很简单,O(∩_∩)O哈哈~),恰逢今日又碰到了,那就做个了断吧。

    实现如题的功能,我们常用的代码如下:

    p{
    
        width: 100px;
    
        white-space: nowrap;
    
        overflow: hidden;
    
        text-overflow: ellipsis;
    
    }

    这里P标签的4个css属性都是必要的,这些属性都起到什么作用呢?

    width:用于设置p标签的宽度,如果没有宽度,何为“超出”,对吧?即使是没有手动的为p标签设定宽度,那么p标签横向也会自动充满父元素,也就是所说的100%;

    white-space:这个属性不得了,特别值为“nowrap”的时候,为何这么说呢,因为当块级元素内的文本如果超过一行,即多行时,文本默认是要换行的,绝不会出现溢出

    的情况;但是如果元素设置了这个属性white-space:nowrap,那么文本会无视父元素的宽度限制,结果就是文本溢出,如下图:

    结果就是这样,你说它牛叉不牛叉。

    overflow:该属性是告诉元素,如果它内部包含的元素(图片、文本、其他元素等等)超出它的长宽范围时该如何处理,是显示滚动条呢,还是隐藏超出部分呢?而我们

    当前所说的案例是需要超出的文本被隐藏,所以我们设置overflow:hidden。

    text-overflow:这个属性是CSS3的新属性,下面是官方解释:

    我们需要把它的值设为ellipsis,该值的意思就是以省略号代替超出的文本部分。

    4个属性值组合起来使用,最后达到了这样的效果:

    代码

    运行结果

    结语:希望此篇文章可以对像我一样“拿来主义”的童鞋们有所帮助

  • 相关阅读:
    欢庆入住博客园
    指定线程所运行的CPU核心
    [GNU/Linux MakeFile] 第一章:概述
    [.NET][编程之美][1.1]C# 实现让CPU占用率曲线听你的指挥 – 可指定运行核心
    vmware workstation 7.1 正式版 序列号 注册机
    linux:设置 linux定时运行命令脚本 (crontab详解)
    守护进程(Daemon)
    Linux下定时执行脚本
    二叉树的遍历(转)
    dup,dup2,fcntl,ioctl用法简述
  • 原文地址:https://www.cnblogs.com/webjoker/p/5337959.html
Copyright © 2011-2022 走看看