Wrap a text within only two lines inside div

前端 未结 11 734

I want to wrap a text within only two lines inside div of specific width. If text goes beyond the length of two lines then I want to show elipses. Is there a way to do that

相关标签:
11条回答
  • 2020-12-04 09:24

    Try something like this: http://jsfiddle.net/6jdj3pcL/1/

    <p>Here is a paragraph with a lot of text ...</p>
    
    p {
        line-height: 1.5em;
        height: 3em;
        overflow: hidden;
        width: 300px;
    }
    
    p::before {
       content: '...';
       float: right;
       margin-top: 1.5em;
    }
    
    0 讨论(0)
  • 2020-12-04 09:35

    I believe the CSS-only solution text-overflow: ellipsis applies to one line only, so you won't be able to go this route:

    .yourdiv {
    
        line-height: 1.5em; /* Sets line height to 1.5 times text size */
        height: 3em; /* Sets the div height to 2x line-height (3 times text size) */
        width: 100%; /* Use whatever width you want */
        white-space: normal; /* Wrap lines of text */
        overflow: hidden; /* Hide text that goes beyond the boundaries of the div */
        text-overflow: ellipsis; /* Ellipses (cross-browser) */
        -o-text-overflow: ellipsis; /* Ellipses (cross-browser) */
    }
    

    Have you tried http://tpgblog.com/threedots/ for jQuery?

    0 讨论(0)
  • 2020-12-04 09:35

    CSS only

        line-height: 1.5;
        white-space: normal;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    
    0 讨论(0)
  • 2020-12-04 09:40

    See http://jsfiddle.net/SWcCt/.

    Just set a line-height the half of height:

    line-height:20px;
    height:40px;
    

    Of course, in order to make text-overflow: ellipsis work you also need:

    overflow:hidden;
    white-space: pre;
    
    0 讨论(0)
  • 2020-12-04 09:41

    Limiting output to two lines of text is possible with CSS, if you set the line-height and height of the element, and set overflow:hidden;:

    #someDiv {
        line-height: 1.5em;
        height: 3em;       /* height is 2x line-height, so two lines will display */
        overflow: hidden;  /* prevents extra lines from being visible */
    }
    

    --- jsFiddle DEMO ---

    Alternatively, you can use the CSS text-overflow and white-space properties to add ellipses, but this only appears to work for a single line.

    #someDiv {
        line-height: 1.5em;
        height: 3em;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        width: 100%;
    }
    

    And a demo:

    --- jsFiddle DEMO ---

    Achieving both multiple lines of text and ellipses appears to be the realm of javascript.

    0 讨论(0)
提交回复
热议问题