html - 当 HTML 缩小时,是否有一种有效的方法可以在列表项之间强制使用空格?

标签 html css minify justify

我正在尝试使用 text-align: justify; 来分隔列表项。 ( LIKE THIS )

问题是我的 HTML 缩小了 - 它删除了列表项之间的空格并破坏了 text-align: justify; 效果 ( LIKE THIS )

所以通常我通过在元素之间添加一个   字符来解决这个问题——确保保留我的空白。

虽然这实际上也适用于列表项 (LIKE THIS - (the last demo there)),但这里的问题是在列表项之间添加   是无效的 HTML -

我尝试了 html validator - 我得到了这个错误:

enter image description here

还有一件事:我不能将 display:flex;justify-content : space-between; 一起使用,因为我需要支持 IE9

有什么想法吗?

最佳答案

您可以在每个列表项之后添加一个空格作为生成的内容,但是列表项需要作为内联元素而不是内联 block 进行布局,以便使空格在对齐时很重要:

.nav li {
    display: inline;
}
.nav li:after {
    content: " "; /* a regular space */
}
.nav li a {
    display: inline-block;
}

上面的最后一条规则处理链接可能包含空格的问题,您可能不希望它们被拉伸(stretch)(如果元素是内联的,它们就会被拉伸(stretch))。

原始答案,在学习justification中inline和inline block elements的区别之前写的;留在这里供引用:

不,如果您“缩小”了 HTML 代码以便删除了元素之间的空格,则您不能使元素充当“单词”以证明其合理性。这种“缩小”通常会改变实际内容,不应该这样做——将元素间的空白压缩为一个空白字符是可以的,但不能更多。

原因是对齐算法只识别实际内容中的空格。因此,添加空格作为生成的内容无济于事。

因此您应该使用更合适的缩小器,或者使用您正在使用的缩小器的设置,这样它就不会删除元素间的空白。

关于html - 当 HTML 缩小时,是否有一种有效的方法可以在列表项之间强制使用空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25257731/

相关文章:

javascript - 将单行注释转换为多行 JavaScript

javascript - 后缺少名称。用于 socket.io js 文件的运算符(operator) YUI 压缩器

HTML5 源代码集 : Mixing x and w syntax

html - 如何控制<abbr>元素

python - Selenium 按类查找元素破坏代码

html - 下拉菜单问题

html - 使用 CSS flexbox 创建响应式表单

php - 外部 PHP 以 HTML 格式发布数据

css - 如何重置/删除 chrome 的输入突出显示/焦点边框?

javascript - 使用 Joomla 的 JCH 优化器缩小 CSS 和 JS 文件