如何在HTML中创建一条垂直线

Gop*_*pal 319 html css

如何使用HTML制作垂直线?

Kri*_*ast 525

<div>标记放在您希望下一行显示的位置,并使用CSS对其进行样式化:

.verticalLine {
  border-left: thick solid #ff0000;
}
Run Code Online (Sandbox Code Playgroud)
<div class="verticalLine">
  some other content
</div>
Run Code Online (Sandbox Code Playgroud)

  • @ctpenrose这确实不是禁忌,但将它们分开是很方便的,因为如果需要你可以在一个地方轻松调整.将它放在一个单独的CSS文件中更好的性能,因为它可以被浏览器缓存,并且每次请求呈现的HTML时,最终都会通过线路传输更少的字节. (13认同)
  • 对于许多人来说,将风格与内容相结合并不是禁忌.<div style ="border-left:thin solid#0000ff">我无话可说,我说的是</ div> (3认同)

小智 229

您可以使用水平规则标记创建垂直线.

<hr width="1" size="500">
Run Code Online (Sandbox Code Playgroud)

通过使用最小宽度和大尺寸,水平规则变为垂直规则.

  • 布拉沃,先生.这是一个很酷的技巧.仍然需要将它设置为`display:inline-block`,否则它将不会很好地放在其他内联元素旁边. (7认同)
  • 不过,我认为这不适用于Firefox.线路在那里,但似乎不可见...... (2认同)
  • 谢谢你的代码.这是http://jsfiddle.net/ccatto/c8RQc/的一个工作示例jsfiddle (2认同)

awe*_*awe 68

您可以使用<div>与您希望显示的行完全相同的样式的空:

HTML:

<div class="vertical-line"></div>
Run Code Online (Sandbox Code Playgroud)

精确的高度(在线覆盖样式):

  div.vertical-line{
      width: 1px; /* Line width */
      background-color: black; /* Line color */
      height: 100%; /* Override in-line if you want specific height. */
      float: left; /* Causes the line to float to left of content. 
        You can instead use position:absolute or display:inline-block
        if this fits better with your design */
    }
Run Code Online (Sandbox Code Playgroud)
<div class="vertical-line" style="height: 45px;"></div>
Run Code Online (Sandbox Code Playgroud)

如果想要3D外观,请设置边框样式:

    div.vertical-line{
      width: 0px; /* Use only border style */
      height: 100%;
      float: left; 
      border: 1px inset; /* This is default border style for <hr> tag */
    }
Run Code Online (Sandbox Code Playgroud)
   <div class="vertical-line" style="height: 45px;"></div>
Run Code Online (Sandbox Code Playgroud)

您当然也可以尝试使用高级组合:

  div.vertical-line{
      width: 1px;
      background-color: silver;
      height: 100%;
      float: left;
      border: 2px ridge silver ;
      border-radius: 2px;
    }
Run Code Online (Sandbox Code Playgroud)
 <div class="vertical-line" style="height: 45px;"></div>
Run Code Online (Sandbox Code Playgroud)

  • +1 这个解决方案很好,因为它可以根据不同的需求轻松定制 (2认同)

Ish*_*ain 31

您还可以使用HTML水平线创建垂直线 <hr />

html, body{height: 100%;}

hr.vertical {
  width: 0px;
  height: 100%;
  /* or height in PX */
}
Run Code Online (Sandbox Code Playgroud)
<hr class="vertical" />
Run Code Online (Sandbox Code Playgroud)

  • 获得与标准“&lt;hr&gt;”相同的线条样式的好技巧。可能还需要额外的样式来浮动在内容的一侧(例如:`float:left;`) (2认同)

Dan*_*llo 20

没有垂直等效的<hr>元素.但是,您可能想要尝试的一种方法是在分离的任何内容的左侧或右侧使用简单边框:

#your_col {
  border-left: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
<div id="your_col">
  Your content here
</div>
Run Code Online (Sandbox Code Playgroud)


Qwe*_*rty 15

HTML5 自定义元素(或纯CSS)

在此输入图像描述

1. javascript

注册你的元素.

var vr = document.registerElement('v-r'); // vertical rule please, yes!
Run Code Online (Sandbox Code Playgroud)

*-在所有自定义元素中都是必需的.

2. css

v-r {
    height: 100%;
    width: 1px;
    border-left: 1px solid gray;
    /*display: inline-block;*/    
    /*margin: 0 auto;*/
}
Run Code Online (Sandbox Code Playgroud)

*您可能需要进行一些操作,display:inline-block|inline因为inline不会扩展到包含元素的高度.使用边距将线条置于容器中心.

实例化

js: document.body.appendChild(new vr());
or
HTML: <v-r></v-r>
Run Code Online (Sandbox Code Playgroud)

*遗憾的是,您无法创建自定义自关闭标记.

用法

 <h1>THIS<v-r></v-r>WORKS</h1>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

例如:http://html5.qry.me/vertical-rule


不想乱用javascript?

只需将此CSS类应用于指定的元素即可.

CSS

.vr {
    height: 100%;
    width: 1px;
    border-left: 1px solid gray;
    /*display: inline-block;*/    
    /*margin: 0 auto;*/
}
Run Code Online (Sandbox Code Playgroud)

*见上面的注释.


chr*_*ris 9

另一种选择是使用1像素图像,并设置高度 - 此选项允许您将其浮动到您需要的位置.

虽然不是最优雅的解决方案.


Aam*_*zad 8

您可以通过简单地对任何 html 元素使用高度/宽度来绘制一条垂直线。

#verticle-line {
  width: 1px;
  min-height: 400px;
  background: red;
}
Run Code Online (Sandbox Code Playgroud)
<div id="verticle-line"></div>
Run Code Online (Sandbox Code Playgroud)


MeK*_*ons 6

旋转<hr>90 度:

<hr style="width:100px; transform:rotate(90deg);">
Run Code Online (Sandbox Code Playgroud)


onu*_*san 5

没有任何标记可以在HTML中创建垂直线.

  1. 方法:您加载线图像.然后你设置它的样式"height: 100px ; width: 2px"

  2. 方法:您可以使用<td>标签<td style="border-left: 1px solid red; padding: 5px;"> X </td>


Edd*_*Edd 5

要创建一条以 div 为中心的垂直线,我认为您可以使用此代码。我猜,“容器”很可能是 100% 宽度。

div.container {
  width: 400px;
}

div.vertical-line {
  border-left: 1px solid #808080;
  height: 350px;
  margin-left: auto;
  margin-right: auto;
  width: 1px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div class="vertical-line">&nbsp;</div>
</div>
Run Code Online (Sandbox Code Playgroud)


Mum*_*man 5

<hr>水平线有一个标签。它也可以与 CSS 一起使用来制作水平线:

.divider{
    margin-left: 5px;
    margin-right: 5px;
    height: 100px;
    width: 1px;
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
<hr class="divider">
Run Code Online (Sandbox Code Playgroud)

width 属性决定了线条的粗细。height 属性决定了线的长度。background-color 属性决定了线条的颜色。