好的,所以我为朋友一起扔的快速网站有大约20个静态页面。每一个都含有少量内容。 div容器包含div内容,div内容显然包含每页上更改的内容。
现在,根据内容的长度,我希望在顶部有不同的边距。内容越少,边际越大。只是一种美学选择。例如,如果内容几乎填充静态大小的容器,则填充较少,但是1行内容页面可能是静态容器的1/3。将div中的内容居中不会,因为这会产生太大的余量。
最好的方法是什么?每个内容的新类别具有不同的保证金?一个新的Id,以便它在自己的特殊div中定位或边距不同?每页上的内联css覆盖div内容的标准css?在每页上的内容之前,Container内有一个不同的spacer div?在Content =(ContainerHeight - ContentHeight)/ 3的边缘线上编写某种脚本?
这是可以接受的方式吗?我不想养成坏习惯。
答案 0 :(得分:0)
如果javascript是一个选项,您可以计算内容框的高度,并根据您喜欢的公式设置上边距。
在jquery中它会是这样的:
c_height = $("#Content").height();
c_margin = Math.floor( /* your formula */ );
$("#Content").css("margin-top", c_margin + "px");
(不确定"px"
部分......)
答案 1 :(得分:0)
我会选择简单的路线,并在全局范围内定义单个上边距,使用内联CSS在需要它的页面中覆盖它。假设您最终编辑其中一个单行页面以添加更多内容 - 在这种情况下,您可能希望更改该页面的布局而不是其他页面,因此更改可能就在页面本身中
另一方面,如果您选择三个边距大小,并根据其中包含的内容分配每个页面中的一个,页面可能会感觉更有用和一致。然后,当您扩展单行时,您可能只是将其类从小边距更改为中等,因此将类似div.smallVMargin
的类放入中心样式表中是有意义的。您要避免的是包含div.page16
或div.margin25px
等类的外部CSS文件。