html 盒子模型与布局设置

有时候自己开发个java web程序,需要使用网页,功能是能够实现的。但是,元素的布局和相对位置,不好设置,界面很混乱。

这里其实需要学习html的盒子模型,还有位置的方式。

 

CSS 盒子模型(Box Model)

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

下面的图片说明了盒子模型(Box Model):

html 盒子模型与布局设置

 

 

位置设置,则是使用postion属性,先来说一下postion常用的5大属性值:

--sticky:基于用户的滚动位置来定位。也就是以sticky标签定义的标签会随着页面上下移动,但是其内容却不会超过屏幕比如在网站侧边那些移动导航栏。

--static:HTML元素的默认值,即没有定位,元素出现在正常的流中。静态定位的元素不会受到 top, bottom, left, right影响。也就是和没写position一样的效果。

--fixed:元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动,相当一个壁纸标签一样一动不动像镶嵌在屏幕里一样,在很多网站尤其是购物网站里面经常能看到,你看到页面侧边那静静躺在那的导航栏就是用fixed实现的

--relative与absolute:相对定位元素的定位是相对其正常位置。每个标签的样式设置从来都是针对自己的,但是会对其余标签产生相对影响,html很重要的一点就是嵌套关系即标签里有标签,

为了解决定位,关键就是使用relative与absolute属性。

可以在外面设置一个div块,把内容包在div块里面,设置div的margin值,这样就可以设置好相对位置了。

 

 

 

 

参考资料:

CSS 盒子模型
https://www.runoob.com/css/css-boxmodel.html

CSS position 属性
https://www.w3school.com.cn/cssref/pr_class_position.asp

 

HTML的relative与absolute区别
https://blog.****.net/Toomeout/article/details/81220756

html中相对位置与绝对位置
https://blog.****.net/qq_35360864/article/details/80656270