这是一个公认的概念,将您的设计和功能分开是很好的。美好的。在这种情况下,让我们将 HTML 和 CSS 分开,特别是菜单层次结构的组织。
嵌套<ol>
,<ul>
的问题<li>
在于,它们似乎与基于百分比的样式完全违反直觉(在响应式设计的设置中)。
我的问题:
我有一个深几层的列表,如下所示:
<ul>
<li>
<a>Item 1</a>
<ul>
<li>
<a>Submenu 1</a>
<ul>
<li>
<a>Submenu 1 (1)<a>
</li>
<li>
<a>Submenu 1 (2)<a>
</li>
<li>
<a>Submenu 1 (3)<a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
假设我想以与文档正文相同的方式来设置此列表的样式,以实现响应式 Web 设计relative
。absolute
所以我用一种方法来设计顶部的样式ul
以继续列表:
body > ul{
position:relative;
width:20%;
}
一切都很好。但是,如果我随后需要将绝对位置或相对宽度/高度赋予<li>
嵌套在列表更深处的 's 怎么办?它们现在遵循顶级的百分比样式<ul>
(因为它已被定义为relative
)。这基本上意味着如果我希望所有列表项的大小与window
. 随后的列表不能被赋予与顶部相同的百分比样式,它们需要加倍/减半/混蛋。
这似乎完全违背了风格和形式分离的整个过程。表单 (HTML) 应该确定数据的关系,而样式 (CSS) 应该确定可视化并提供以任何它认为合适的方式“分离”表单的能力。
我的问题:
是否可以忽略已定义为
fixed
//这样的父坐标空间relative
?absolute
100%
100%
body
我是否在 HTML/CSS 关系背后的哲学中遗漏了一些东西,以及如何最好地利用它?
如果我继续做 Web 开发,我会在 35 岁之前把头发都扯掉吗?
免责声明:
我正在寻找一个可以带给我内心平静的答案,而不是针对单个浏览器的单一修复。如果答案是“无法完成”,请解释您为什么以及对无法完成的事实感到高兴。