blackantt 发表于 2023-4-27 21:22:18

为啥html里直接定义的 align=left 没起作用呢?


<ul class="picture_book" style="padding:0; margin:0; list-style-type: none;">
<i align="left">适合年龄:</i>
<p>abc </p>


在 css 里定义了 picture_book 的text-align为center

结果 “适合年龄" 与abc 这2行都居中了。为啥html里直接定义的 align=left 没起作用呢?



isdkz 发表于 2023-4-27 21:24:55

问题出在这里:`<i align="left">' + '适合年龄:' + '</i>'`。首先,`align` 属性已经被废弃,不推荐在 HTML5 中使用。此外,`<i>` 标签并不支持 `align` 属性。

为了实现你想要的效果,你可以在 CSS 中使用类来调整样式。你可以这样修改:

1. 为 `<i>` 标签添加一个类名,比如 `<i class="age-align">' + '适合年龄:' + '</i>'`。

2. 在 CSS 中为这个类添加样式,比如:
.age-align {
    text-align: left;
    display: block;
}


3. 如果你想要确保 `.picture_book` 中的其他元素居中,可以在 CSS 中设置 `.picture_book` 的 `text-align` 属性为 `center`。

这样,`.picture_book` 中的其他元素将居中,而 `适合年龄:` 将左对齐。

blackantt 发表于 2023-4-27 21:31:08

isdkz 发表于 2023-4-27 21:24
问题出在这里:`' + '适合年龄:' + ''`。首先,`align` 属性已经被废弃,不推荐在 HTML5 中使用。此外,`` ...

适合年龄这个需要left的只有1,2行。想简单一点。那在 html5 中有没有简单的,不动用css的语句?

isdkz 发表于 2023-4-27 21:32:44

blackantt 发表于 2023-4-27 21:31
适合年龄这个需要left的只有1,2行。想简单一点。那在 html5 中有没有简单的,不动用css的语句?

在 HTML5 中,你可以使用内联样式来实现这个效果,即在标签中使用 `style` 属性。虽然内联样式不是最佳实践,但它可以让你在不使用外部 CSS 的情况下实现简单的样式调整。例如:

<ul class="picture_book" style="padding:0; margin:0; list-style-type: none;">
<p style="text-align: left;">适合年龄:</p>
<p>abc</p>
</ul>


在这个示例中,我们将 `适合年龄:` 放在一个 `<p>` 标签内,并使用内联样式 `style="text-align: left;"` 设置文本为左对齐。这样只会影响这一行的对齐方式,而其他行仍然继承 `.picture_book` 的居中对齐设置。
页: [1]
查看完整版本: 为啥html里直接定义的 align=left 没起作用呢?