这是一个哲学而不是100%严格的代码导向问题,但它与编程标准有关,我希望它符合规则。
在学习网页开发的过程中,我一直对定位很感兴趣。我的第一个noob网站看起来像这样:
<body>
<h1> Welcome to my website. </h1>
<br> <br> <br> <br> <br> <br> <br> <br> <br><br> <br> <br>
<p> Copyright 2016 </p>
</body>
然而,我总是感到不安这样做 - 毕竟,这个标签几乎从未在我看过的任何专业网站上使用过,在询问this question之后我明白它不允许任何额外的标记而且不是语义。
我寻找其他方法,然后偶然发现position: absolute
。我基本上通过为我页面上的每个元素设置手动位置来使用它,因为我不知道使用position: absolute
的任何其他方式而不是这样做。 网站在我的屏幕上看起来很好,但最轻微的调整会破坏它们。
寻找另一种解决方案,我只想到用margin
定位所有内容。例如,我会<br><br>
而不是margin-top: 5%
。我现在仍然这样做,感觉非常错误。
所以我只是在寻找一般建议 - 多数人是如何做到的?什么是最佳做法?显然有数百种方法可以做到这一点,我看了很多指南和教程,但我只是没有得到CSS定位。
答案 0 :(得分:2)
四个最常用的位置值是Django
initial, relative, absolute and fixed.
值用于将元素定位在主屏幕上的固定位置。
值fixed
用于将元素放在相对于父元素的固定位置。您需要将元素定义为absolute and relative
,将其父元素定义为absolute
。
然后你可以这样做:
relative
答案 1 :(得分:1)
如果您使用position: absolute;
您的页面永远无法调整大小,那就是真的。如果你用它来保证它是好的。它比<br>
标签好得多。如果你在一行中有三个你可以浮动:左;每个<div>
。它会很完美。如果你缩小,那么新行上的第四个<div>
可能会出现,或者如果你在一行,那么一行上可能只有两个div。
TL;博士
使用float: left;
进行响应式设计。
答案 2 :(得分:1)
无论你想选择哪种方式,问题是它应该在大多数设备上使用Material Design和Bootstrap这样的框架很好地呈现,这将帮助你实现这一点,但我通常会使用边距和边框div是大多数专业网站的基石。
答案 3 :(得分:0)
positon:absolute;
表示元素相对于其第一个定位(非静态)祖先元素定位。
我同意@Blue表示可以使用保证金而不是<br>
。您可以使用float:
进行响应式设计。
答案 4 :(得分:0)
我认为好的做法是使用边距定位块。但是当我们遇到一些特殊情况时 - 页面上的某些元素会出现在流中,因此必须使用绝对定位。但是,如果我的工作可能,我会尽量避免使用