如何使用HTML制作一条垂直线?
当前回答
在HTML中没有任何创建垂直线的标记。
方法:加载直线图像。然后你设置它的样式像"height: 100px;宽:2 px” 方法:你可以使用<td>标签<td style="border-left: 1px solid red;填充:5 px;"> X </td> .
其他回答
为什么不使用|,这是|的html特殊字符
HTML5自定义元素(或纯CSS)
1. javascript
注册你的元素。
var vr = document.registerElement('v-r'); // vertical rule please, yes!
*在所有自定义元素中-是强制的。
2. css
v-r {
height: 100%;
width: 1px;
border-left: 1px solid gray;
/*display: inline-block;*/
/*margin: 0 auto;*/
}
*你可能需要摆弄一下display:inline-block|inline,因为inline不会展开到包含元素的高度。使用边距使线条在容器内居中。
3.实例化
js: document.body.appendChild(new vr());
or
HTML: <v-r></v-r>
*不幸的是,您不能创建自定义自关闭标记。
使用
<h1>THIS<v-r></v-r>WORKS</h1>
例如: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;*/
}
*见上面的注释。
在HTML中没有任何创建垂直线的标记。
方法:加载直线图像。然后你设置它的样式像"height: 100px;宽:2 px” 方法:你可以使用<td>标签<td style="border-left: 1px solid red;填充:5 px;"> X </td> .
还有一种可能的方法:使用SVG。
例如:
<svg height="210" width="500">
<line x1="0" y1="0" x2="0" y2="100" style="stroke:rgb(255,0,0);stroke-width:2" />
Sorry, your browser does not support inline SVG.
</svg>
优点:
你可以有任意长度和方向的直线。 您可以轻松地指定宽度,颜色
缺点:
现在大多数现代浏览器都支持SVG。但是一些旧的浏览器(如IE 8或更老的版本)不支持它。
如果你的目标是在容器中放置垂直线来分离并排的子元素(列元素),你可以考虑这样样式化容器:
.container > *:not(:first-child) {
border-left: solid gray 2px;
}
这将为从第2个子元素开始的所有子元素添加左边框。换句话说,相邻子节点之间有垂直边界。
>是子选择器。它匹配左边指定的元素的任何子元素。 *是一个通用选择器。它匹配任何类型的元素。 :not(:first-child)表示它不是其父节点的第一个子节点。
浏览器支持:> *:first-child和:not()
我认为这比简单的.child-except-first {border-left:…}规则,因为让垂直线来自容器的规则,而不是不同子元素的规则更有意义。
这是否比使用临时的垂直规则元素(通过样式化水平规则等)更好,将取决于您的用例,但这至少是一种替代方案。
推荐文章
- 使伸缩项目正确浮动
- 如何取消最大高度?
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何选择在最后一个子元素之前的元素?
- 如何触发自动填充在谷歌Chrome?
- CSS变换,锯齿边缘在铬
- 创建圈div比使用图像更容易的方法?
- 强迫孩子服从父母的弯曲边界在CSS
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?
- 在CSS中@apply是什么?
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?