html - 你如何在 HTML/CSS 中做制表位

标签 html css formatting tabstop

有些文本的格式我想以 HTML 格式呈现。这是一张图片:

Image of formatted text

注意带有元素符号和段落编号的灰线。元素符号应位于页面中心,数字应正确对齐。

我一直在想如何在 HTML 中做到这一点,但我还是一片空白。您将如何捕捉这种格式?

最佳答案

你可以在这里使用 :before:after 伪元素来发挥很好的效果:

http://jsfiddle.net/yNnv4/1/

这适用于所有现代浏览器和 IE8+。如果需要 IE7 支持,这个答案不适合你:)

#container {
    counter-reset: nums;
}
p {
    position: relative;
    margin: 21px 0;
}
p:before {
    content: '\2022 \2022';
    font-size: 2em;
    position: absolute;
    top: -8px;
    left: 0;
    line-height: 1px;
    color: #888;
    width: 100%;
    text-align: center
}
p:after {
    content: counter(nums);
    counter-increment: nums;
    font-size: 1.5em;
    position: absolute;
    top: -8px;
    right: 0;
    line-height: 1px;
    color: #888;
    font-family: sans-serif
}

关于counter属性:


不可能(自动)增加元素符号。

但是,可以通过一些可疑的重复来完成:

http://jsfiddle.net/N4txk/1/

p:before { content: '\2022' }
p+p:before { content: '\2022 \2022' }
p+p+p:before { content: '\2022 \2022 \2022' }
/* .... */

(或者,:nth-child 可以以相同的方式重复:http://jsfiddle.net/N4txk/ - 但在 IE8 中不起作用;只有两个元素符号)

合理的子弹数量有上限,所以我认为可以根据需要复制和粘贴多次。

关于html - 你如何在 HTML/CSS 中做制表位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472991/

相关文章:

css - 如何删除 1440p 显示器上内容下方的白条?

html - 无法将页脚粘贴到页尾

html - 仅使用 CSS 重新创建倾斜效果

css - 下拉菜单中的两个错误

html - 如何将网页放在屏幕中间?

python - 打印超出其精度的 float

php - 在日期范围列表中省略多余的月份和年份

html - 使用 CSS 的无限图标 slider

java - 字符串格式化

jquery - 悬停在图像上时显示下拉菜单