【发布时间】:2023-03-08 22:55:02
【问题描述】:
我有三列,其中一列的宽度为 50%,另外两列是宽度为 25% 的侧边栏。
HTML
<article></article>
<aside id="s1"></aside>
<aside id="s2"></aside>
CSS
article {
width:50%;
float:left;
}
aside {
width:25%;
float:left;
}
维护 HTML 结构,是否可以以某种方式浮动它们以实现不同的布局 - 我希望文章左侧有 #s1,文章右侧有 #s2 .
这可以用 CSS3 实现吗?这是一个 jsFiddle 的代码 above
【问题讨论】:
-
那么在 html 布局中,文章布局应该排在 2 个边线之前?正如已经给出的答案所示,如果第一个旁白先出现,那么格式化旁白非常容易。保持顺序只是为了可读性还是因为模板?
-
你的 HTML 应该尽可能地反映你的页面结构:
<aside id="s1"></aside>然后<article></article>最后<aside id="s2"></aside> -
我知道它应该反映它我知道它再次符合语义。但是在我的情况下,我正在构建一个响应式网页设计,在移动版本上结构应该是这样的。两个侧边栏位于文章下方是有道理的。然而,在桌面设备和更宽的屏幕上,第一个侧边栏浮动到文章的左侧在语义上也更有意义……这就是我问的原因!
-
... 这就是我不想更改标记的原因。标记现在的方式是语义的 - 只是在更宽的视口上,以不同的方式浮动它更有意义。