一css定位
css定位有三种:绝对定位、相对定位、固定定位。
position: absolute; <!-- 绝对定位 -->
position: relative; <!-- 相对定位 -->
position: fixed; <!-- 固定定位 -->相对定位
让元素相对于自己原来的位置,进行位置调整(可用于盒子的位置微调)。
相对定位:不脱标,老家留坑,别人不会把它的位置挤走。也就是说,相对定位的真实位置还在老家,只不过影子出去了,可以到处飘。
相对定位的定位值
left:盒子右移
right:盒子左移
top:盒子下移
bottom:盒子上移
PS:负数表示相反的方向。
绝对定位
定义横纵坐标。父容器有定位样式原点在父容器左上角或左下角;父容器没有定位样式原点在网页的左上角或左下角。横坐标用left表示,纵坐标用top或者bottom表示。
绝对定位: 脱标,所以,所有的标准文档流的性质,绝对定位之后都不遵守了。绝对定位之后,标签就不区分所谓的行内元素、块级元素了,不需要display:block就可以设置宽、高了。
如果用top描述,那么参考点就是页面或父控件左上角,原点是会动的。
如果用bottom描述,那么参考点就是页面或者父亲就控件左下角,原点也是会动的。这样定位的div都会跟随网页移动。
tips:绝对定位,无视参考的那个盒子的padding。
固定定位
就是相对浏览器窗口进行定位。无论页面如何滚动,这个盒子显示的位置不变。他也是脱标了。
z-index属性
z-index属性:表示谁压着谁。数值大的压盖住数值小的。
有如下特性:
- 属性值大的位于上层,属性值小的位于下层。
- z-index值没有单位,就是一个正整数。默认的z-index值是0。
- 如果大家都没有z-index值,或者z-index值一样,那么在HTML代码里谁写在后面,谁就在上面能压住别人。定位了的元素,永远能够压住没有定位的元素。
- 只有定位了的元素,才能有z-index值。也就是说,不管相对定位、绝对定位、固定定位,都可以使用z-index值。而浮动的元素不能用。
- 从父现象:父亲怂了,儿子再牛逼也没用。意思是,如果父亲1比父亲2大,那么,即使儿子1比儿子2小,儿子1也能在最上层。
二css中常用的小知识
2.1隐藏盒子
(1)方式一:
overflow:hidden; //隐藏盒子超出的部分
(2)方式二:
display: none; 隐藏盒子,而且不占位置(用的最多)(3)方式三:
visibility: hidden; //隐藏盒子,占位置。
visibility: visible; //让盒子重新显示
2.2超链接
href="" //刷新页面
href="#" //跳转到当前页面的顶部(不会刷新)
2.3设置盒子的半透明
background: rgba(0,0,0,0.3);
background: rgba(0,0,0,.3);
2.4网页地址和映射地址区别
站点的访问都是通过后台的Controller层去访问,比如访问地址为:
http://192.168.1.166:8080/project/web/a.html
对应的后台应为
//对外暴漏的地址,
@RequestMapping("/a.html")
public String e(){
//html映射地址,和访问地址无关。
return "index";
} 如index页面有一个超链接代码如下:
<a href="/project/web/b.html?name=zhangsan" target="_blank">跳转页面二</a>那么对应的Controller层应该还有一个处理方法:
//对外暴漏的地址,
@RequestMapping("/b.html")
public String f(Model model, String name){
//获取传递过来的参数,然后放入网页,当然还可以查询数据库得到更多的数据,再放入网页
model.addAttribute("name",name);
//html映射地址,和访问地址无关。
return "test";
}这个时候在test页面获取数据,写法为:${name}
实际项目开发的过程中,要限制部分网页不能通过浏览器直接访问,要通过内部页面跳转,才能访问。
三练习
跟着慕课网视频去练习css布局用法:www.imooc.com/video/1489