用CSS定义每段首行缩进2个字符 转

应该遵循w3c所制定的html/xhtml标准来使用tag和编写网页。如果你对此不太了解,可以到w3c的网站www.w3.org去找相关资料,或者买一本xhtml的书(注意不要买过时的html的书,尽量选择外国人写的)看。   
    
        在你的这个问题里,你首先要了解的是block元素和inline元素的区别,p、div等属于block元素,而a、span、br都是inline的元素。text-indent既然是定义与一个段落相关的信息,即段首缩进,则只作用在block元素上而不是inline元素上。   
    
这样,如果你写出的是:   
    
  p   {   text-indent:2em   }   
    
  <p>first   para...</p>   
  <p>second   long   paragraph   ................................................................................................................................................................</p>   
  就能达到效果。   
    
  但是,如果是   
  <p>   
  first   line<br   />   
  second   line<br   />   
  </p>   
    

则不能达到你的预想,因为text-indent是p的样式,而不是br的样式。那么可否为br设定text-indent样式呢?   
    
        显然,因为br根本就是一个空元素,表示换行而已,因此设定了text-indent也没有用,br之内根本就没有内容,又何谈内容的样式?   
    
        造成这种困惑的原因在于,你没有从传统的纯文本以/n换行符表示段落结束和开始的习惯中进入标记语言的思维,因此不理解文本段落就应该用p来表示。br仅仅是提供在必要时候强制换行(比如用于表示程序代码的换行)的格式标记。

原文地址:https://www.cnblogs.com/zqn518/p/4039570.html