zoukankan      html  css  js  c++  java
  • 移动端常见问题(单行和多行文字溢出省略)

    单行文字溢出省略:

    给容器添加css样式:

    .text-ellipsis{
                overflow:hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div{
                width:200px;
                background-color: lightblue;
                margin:0 auto;
            }
            .text-ellipsis{
                overflow:hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        </style>
    </head>
    <body>
        <div class="text-ellipsis">
            欧派整体橱柜定制简约现代 欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代
        </div>
    </body>
    </html>

    如果容器使用了flex布局:

    此时单行文字省略会出问题

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div{
                width:200px;
                background-color: lightblue;
                margin:0 auto;
                display: flex;
                justify-content: center;
                align-items: center;
            }
            .text-ellipsis{
                overflow:hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        </style>
    </head>
    <body>
        <div class="text-ellipsis">
            欧派整体橱柜定制简约现代 欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代
        </div>
    </body>
    </html>

    解决方法:不能直接一起使用,可以加个span包裹住文字,在span标签上设置文字溢出隐藏

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div{
                width:200px;
                background-color: lightblue;
                margin:0 auto;
                display: flex;
                justify-content: center;
                align-items: center;
            }
            .text-ellipsis{
                overflow:hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        </style>
    </head>
    <body>
        <div>
            <span class="text-ellipsis">欧派整体橱柜定制简约现代 欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代</span>
        </div>
    </body>
    </html>

    多行文字溢出省略:

    这个也是可以实现的,但是兼容性不太好,只兼容webkit内核的

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div{
                width:180px;
                background-color: lightblue;
                margin:0 auto;
            }
            .multiline-ellipsis{
                overflow:hidden;
                text-overflow: ellipsis;
                display:-webkit-box;/*流布局*/
                -webkit-line-clamp: 3;/*3行*/
                -webkit-box-orient: vertical;/*从顶部向底部垂直布置子元素*/
                white-space: normal !important;
                word-wrap:break-word;/*允许长单词换行到下一行*/
    
            }
        </style>
    </head>
    <body>
        <div>
            <span class="multiline-ellipsis">欧派整体橱柜定制简约现代 欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代</span>
        </div>
    </body>
    </html>

    注意这里有个坑,那就是父元素高度最好自适应,高度过小或者过大都会崩

    高度过小无法显示完整行数:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div{
                width:180px;
                background-color: lightblue;
                margin:0 auto;
                height:50px;
            }
            .multiline-ellipsis{
                overflow:hidden;
                text-overflow: ellipsis;
                display:-webkit-box;/*流布局*/
                -webkit-line-clamp: 3;/*3行*/
                -webkit-box-orient: vertical;/*从顶部向底部垂直布置子元素*/
                white-space: normal !important;
                word-wrap:break-word;/*允许长单词换行到下一行*/
    
            }
        </style>
    </head>
    <body>
        <div class="multiline-ellipsis">
            欧派整体橱柜定制简约现代 欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代欧派整体橱柜定制简约现代
        </div>
    </body>
    </html>

     高度过大,在省略号之后还会继续显示……

  • 相关阅读:
    MySql锁机制
    Mysql存储引擎
    Linux 系统中安装mysql
    常见的系统架构
    Linux环境下搭建go开发环境
    Ajax概述
    正向代理和反向代理
    Mysql 存储过程以及在.net中的应用示例
    Mysql 事务
    Windows服务器实现自动化部署-Jenkins
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12510298.html
Copyright © 2011-2022 走看看