是否可以在HTML中插入一个制表符,而不必键入 四次吗?
当前回答
p {background-color: #FFEEEE;保证金:0;填充:0.5em 0;} < span style=" font - family:宋体;tab-size: 4 " > & # 9 # 9 & # 9←←一个选项卡两个标签# 9 & # 9 & # 9←三个标签# 9 & # 9 & # 9 & # 9←四个选项卡。< / p > < span style=" font - family:宋体;tab-size: 4">←这是一个字符 < span style=" font - family:宋体;</p> . tab-size: 42">	←This one has come out too far.</p> . < span style=" font - family:宋体;tab-size: 8">	←说!</p>
太懒了;没有“运行代码”):
通过输入	在文本中插入制表符,或者(如果您确定文档是UTF-8编码的)按下制表键! 添加空白:预换行;到文本元素的CSS规则,以阻止空格字符(包括制表符)折叠。 添加tab-size: 4;到你的文本元素的CSS规则,以确保你的制表符宽度等于四个标准空格字符。
(在众多的回答和评论中,每一件事都有一些片段和线索,但没有一个像它的措辞那样把它们放在一起来回答这个问题。)
编辑:不幸的是,堆栈代码段将我的Unicode制表符转换为空格!因此,演示的这一部分(第2行)不起作用。如果通过代码格式化器运行代码,可能会遇到类似的问题。	避免了这些问题。
其他回答
在CSS中有这个:
span.tab{
padding: 0 80px; /* Or desired space*/
}
然后在你的HTML有这是你的“长标签”在句子中间,就像我需要的:
<span class="tab"></span>
节省 或 这是你需要的。
 这就是答案。
然而,如果你习惯于在Word、Wordperfect、Open Office、Wordworth等文字处理软件中使用水平表格,那么它们的功能就不会像你预期的那样强大。它们是固定宽度的,不能定制。
CSS为您提供了更大的控制,并在W3C提供官方解决方案之前提供了替代方案。
例子:
padding-left:4em
…或…
margin-left:4em
..适当的
这取决于您想要使用的字符集。
你可以设置一些标签,并像使用h标签一样使用它们。
<style>
tab1 { padding-left: 4em; }
tab2 { padding-left: 8em; }
tab3 { padding-left: 12em; }
tab4 { padding-left: 16em; }
tab5 { padding-left: 20em; }
tab6 { padding-left: 24em; }
tab7 { padding-left: 28em; }
tab8 { padding-left: 32em; }
tab9 { padding-left: 36em; }
tab10 { padding-left: 40em; }
tab11 { padding-left: 44em; }
tab12 { padding-left: 48em; }
tab13 { padding-left: 52em; }
tab14 { padding-left: 56em; }
tab15 { padding-left: 60em; }
tab16 { padding-left: 64em; }
</style>
...像这样使用它们:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tabulation example</title> <style type="text/css"> dummydeclaration { padding-left: 4em; } /* Firefox ignores first declaration for some reason */ tab1 { padding-left: 4em; } tab2 { padding-left: 8em; } tab3 { padding-left: 12em; } tab4 { padding-left: 16em; } tab5 { padding-left: 20em; } tab6 { padding-left: 24em; } tab7 { padding-left: 28em; } tab8 { padding-left: 32em; } tab9 { padding-left: 36em; } tab10 { padding-left: 40em; } tab11 { padding-left: 44em; } tab12 { padding-left: 48em; } tab13 { padding-left: 52em; } tab14 { padding-left: 56em; } tab15 { padding-left: 60em; } tab16 { padding-left: 64em; } </style> </head> <body> <p>Non tabulated text</p> <p><tab1>Tabulated text</tab1></p> <p><tab2>Tabulated text</tab2></p> <p><tab3>Tabulated text</tab3></p> <p><tab3>Tabulated text</tab3></p> <p><tab2>Tabulated text</tab2></p> <p><tab3>Tabulated text</tab3></p> <p><tab4>Tabulated text</tab4></p> <p><tab4>Tabulated text</tab4></p> <p>Non tabulated text</p> <p><tab3>Tabulated text</tab3></p> <p><tab4>Tabulated text</tab4></p> <p><tab4>Tabulated text</tab4></p> <p><tab1>Tabulated text</tab1></p> <p><tab2>Tabulated text</tab2></p> </body> </html>
运行上面的代码片段以查看一个可视化示例。
额外的讨论
在ISO-8859-1 HTML中没有定义水平表格实体,但是除了通常的 之外,还有一些其他可用的空白字符,例如;&ensp  ;和前面提到的 。
值得一提的是,在ASCII和Unicode中,	是一个水平表格。
如果你只是想缩进段落中的第一句话,你可以用一个CSS小技巧来做到这一点:
p:first-letter {
margin-left: 5em;
}
我已经使用了一个span与行内样式。我不得不这样做,因为我正在处理一个纯文本字符串,需要用4个空格(appx)替换\t。我不能使用 在进一步的过程中,它们被解释,所以最后的标记有非内容空间。
HTML:
<span style="padding: 0 40px"> </span>
我在一个php函数中使用了它:
$message = preg_replace('/\t/', '<span style="padding: 0 40px"> </span>', $message);
在段落中插入多个空格(或在段落中间)确实没有什么简单的方法。那些建议你使用CSS的人没有抓住重点。您可能不总是试图从一个侧面缩进一个段落,但实际上,尝试在它的特定位置放置额外的空格。
In essence, in this case, the spaces become the content and not the style. I don't know why so many people don't see that. I guess the rigidity with which they try to enforce the separation of style and content rule (HTML was designed to do both from the beginning - there is nothing wrong with occasionally defining style of an unique element using appropriate tags without having to spend a lot more time on creating CSS style sheets and there is absolutely nothing unreadable about it when it's used in moderation. There is also something to be said for being able to do something quickly.) translates to how they can only consider whitespace characters as being used only for style and indentation.
当没有优雅的方式插入空格,而不必依赖 和,标签,我认为,如果有一个适当命名的标签,允许您快速插入大量的空格(或者如果,您知道,空格一开始就没有被不必要地消耗),那么结果代码将变得更加不可读。
尽管如此,正如上面所说,您最好的选择是使用 插入:插入正确的位置
推荐文章
- 使伸缩项目正确浮动
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?
- 如何删除和清除所有的本地存储数据
- 强制打开“另存为…”弹出打开文本链接点击PDF在HTML
- 如何修改标签文本?
- 在HTML中还有其他有用的空格码吗,比如半空格的 , em-spaces, en-spaces等等?
- 输入触发器按钮单击