水平线和正确的方式来编码html,css

Пав*_*вин 112 html css

我需要在一些块之后绘制一条水平线,我有三种方法可以做到:

1)定义一个类h_line并为其添加css功能,例如

#css
.hline { width:100%; height:1px; background: #fff }

#html
<div class="block_1">Lorem</div> <div class="h_line"></div>
Run Code Online (Sandbox Code Playgroud)

2)使用hr标签

#css
hr { width:100%; height:1px; background: #fff }

#html
<div class="block_1">Lorem</div> <hr />
Run Code Online (Sandbox Code Playgroud)

3)像after伪类一样使用它

#css
.hline:after { width:100%; height:1px; background: #fff; content:"" }

#html
<div class="block_1 h_line">Lorem</div>
Run Code Online (Sandbox Code Playgroud)

哪种方式最实用?

moe*_*ger 122

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
Run Code Online (Sandbox Code Playgroud)
<div>Hello</div>
<hr/>
<div>World</div>
Run Code Online (Sandbox Code Playgroud)

以下是html5boilerplate的用法:

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
Run Code Online (Sandbox Code Playgroud)

  • **注意:**如果您希望它始终位于页面的中心,请使用`margin:1em auto`. (2认同)
  • @JacquesMarais,不确定是否有必要,因为它是一个没有定义宽度的块元素,因此无论如何它都会跨越整个容器的宽度。 (2认同)

bev*_*qua 64

我会去语义标记,使用<hr/>.

除非它只是你想要的边框,否则你可以使用填充,边框和边距的组合来获得所需的边界.

  • `<hr>`是有效的HTML5.它用于表示水平规则,但现在以语义术语定义为内容之间的主题中断.除非另有说明,否则大多数浏览器仍会将其显示为水平线.资料来源:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr (8认同)

bpo*_*iss 11

在HTML5中,<hr>标签定义了一个主题中断.在HTML 4.01中, <hr>标记表示水平规则.

http://www.w3schools.com/tags/tag_hr.asp

所以在定义之后,我更愿意 <hr>


Nad*_*smi 10

.line {
  width: 53px;
  height: 0;
  border: 1px solid #C4C4C4;
  margin: 3px;
  display:inline-block;
}
Run Code Online (Sandbox Code Playgroud)
<html>
<body>
<div class="line"></div>
<div style="display:inline-block;">OR</div>
<div class="line"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)


ser*_*inc 8

如果你真的想要一个主题中断,一定要使用<hr>标签.


如果你只想要一个设计线,你可以使用类似css类的东西

.hline-bottom {
    padding-bottom: 10px;
    border-bottom: 2px solid #000; /* whichever color you prefer */
}
Run Code Online (Sandbox Code Playgroud)

并使用它

<div class="block_1 hline-bottom">Cheese</div>
Run Code Online (Sandbox Code Playgroud)


Ali*_*lia 6

我想要一个像线一样的长破折号,所以我用了这个。

.dash{
        border: 1px solid red;
        width: 120px;
        height: 0px;

}
Run Code Online (Sandbox Code Playgroud)
<div class="dash"></div>
Run Code Online (Sandbox Code Playgroud)