首页 文章

包装时DIV中文本缩进的最佳方法是什么?

提问于
浏览
27

所以我有一个包含一些动态文本的DIV . 假设我知道文本和字体大小,但我不知道DIV的大小 . 我希望DIV中的文本显示足够智能,以便在文本换行时显示缩进 .

说我原来的文字看起来像这样:

Lorem ipsum dolor sit amet, 
consectetur adipisicing 
elit, sed do eiusmod 
tempor incididunt

相反,我希望它看起来像这样:

Lorem ipsum dolor sit amet, 
   consectetur adipisicing 
   elit, sed do eiusmod 
   tempor incididunt

如果我不知道DIV的大小,那么最好的方法是什么?如果我知道尺寸,最好的方法是什么?

谢谢!

5 回答

  • 6

    对于可变尺寸和固定尺寸的DIV,这应该同样有效 .

    <div style="width: 150px; text-indent: -2em; padding-left: 2em;">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
        incididunt.
    </div>
    
  • 44

    如果我理解你的要求,这对我有用:

    div {
        padding-left: 2em;
        text-indent: -2em;
    }
    
  • 1

    不确定跨浏览器支持,但您可以使用first-line pseudo-element

    p {padding:10px;}
    p:first-line {padding-left:0px;}
    
    <p>Hello World, I'm Jonathan Sampson</p>
    

    将被视为

    你好世界我
    乔纳森
    桑普森

    除此之外,你可以给元素左边填充,然后是负文本缩进 .

  • 0

    W3C说你只需要使用text-indent属性 .

    source

    .indentedtext
    {
        text-align:start;
        text-indent:5em;
    }
    
  • 6

    使用CSS text-indent 属性:

    .box {
      border: 1px solid #ddd;
      background: #fff;
      max-width: 300px;
      padding: 15px 15px 15px 45px;
    }  
    
    .box p {
      font-family: Arial, sans-serif;
      line-height: 1.5;
      margin: 0;
      text-align: justify;
      font-size: 12px;
      text-indent: -30px;
    }
    
    <div class="box">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo repellendus natus minima ex possimus? Pariatur odit distinctio, similique, adipisci nesciunt molestias iusto ipsa repellendus recusandae unde, enim veniam voluptatem expedita.</p>
    </div>
    

相关问题