CSS 闲着无聊读一读,不知不觉学会CSS(五),记一次字节跳动前端社招面试

50 阅读4分钟

position表示位置的意思,它主要是用于实现对元素的定位。

在CSS中定位分为三种:

  • position:fixed(固定定位)

  • position:relative(相对定位)

  • position:absolute(绝对定位)

left: 表示定位的元素离左边多远。

right: 表示定位的元素离右边多远。

top: 表示定位的元素离上边多远。

bottom: 表示定位的元素离下边多远。

1.固定定位

语法格式:

position:fixed

固定定位,它是相对于浏览器窗口来进行定位。不管页面如何滚动,固定定位元素显示的位置不会改变。

特点:

  • 固定定位元素它脱离了标准文档流。

  • 固定定位元素的层级比标准文档流里面的元素要高,所以固定定位元素它会压盖住标准文档流里面的元素。

  • 固定定位元素它不再占用空间。

  • 固定定位元素它显示的位置不会随着浏览器的滚动而滚动。

案例一:使用固定定位来实现返回顶部的按钮。

*{ margin: 0px; padding: 0px; } a{ width: 60px; height: 60px; display: block; background-color: #ccc; text-align: center; line-height: 30px; /*这里因为是两行,随意取60px的一半就可以*/ text-decoration: none; color: white; font-weight: bold; position: fixed; right: 30px; bottom: 100px; }

返回
顶部

效果图如下:

在这里插入图片描述

同样比较常见的有顶部的导航栏,也是这种方式做的:

*{ margin: 0px; padding:0px; } .nav{ width: 100%; height: 60px; background-color: skyblue; position: fixed; left: 0px; top: 0px; } .nav .inner_c{ width: 1000px; height: 60px; margin: 0px auto; } ul{ list-style: none; } ul li{ float: left; width: 100px; height: 60px; line-height: 60px; text-align: center; } ul li a{ display: block; width: 100px; height: 60px; text-decoration: none; color: white; font-weight: bold; } ul li a:hover{ background-color: gold; } .aa{ margin-top: 60px; }

2.相对定位

格式:

position:relative

相对定位它是相对于“原来的自己(也就是没有position这个属性之前的位置)”来进行定位

例如:top 6px;意思就是向上移动6px就是不添加position的值。

特点:

  • 相对定位元素它没有脱离标准文档流。

  • 相对定位元素如果没有设置定位的坐标,那么相对定位元素它还在原来的位置。

  • 相对定位元素的定位坐标值可以是负数。

  • 相对元素它会将标准文档流的元素压盖住(就是移动到一定位置)。

test *{ margin: 0px; padding: 0px; } .box{ width: 600px; border: 1px solid #000; margin: 100px auto; padding-left: 20px; } .box div{ width: 100px; height: 100px; } .div1{ background-color: #f00; } .div2{ background-color: #0f0; /*相对属性*/ position: relative; /*向左移动100px便是没有position:relative的图形*/ left: 100px; } .div3{ background-color: #00f; }

比较一下有postion属性和没postion的网页格式。

注意:

相对定位元素它会在老家留下一个坑,所以一般情况下,它很少单独使用,相对定位元素,它主要是用来配合"绝对定位"元素来使用的

3.绝对定位

语法:

position:absolute;

绝对定位元素是相对于"祖先定位元素"来进行定位!

解释:

绝对定位元素,它会先去找其父元素是否设置了定位属性,如果有,则相对与父元素来进行定位;但是如果父元素没有设置定位属性,那么他会查找父元素的上一级元素是否设置了属性,如果有,则对应其父元素的上一级元素设置定位,依次往上,如果其祖先元素(最后一级)都没有定义,则它会相对于“浏览器窗口”来进行定位。

特点:

  • 绝对定位元素它脱离了标准文档流。

  • 绝对定位元素它不再占用空间。

  • 绝对定位元素它会压盖住标准文档流中的元素。

  • 绝对定位元素它会相对于其“祖先定位元素”来进行定位,这里什么定位都可以(三种定位),但是一般我们只会使用相对定位。

例如:以下便是一个相对定位和绝对定位的例子

* { margin: 0; padding:0; } .box{ width: 600px; border: 1px solid #000; ### 文末 逆水行舟不进则退,所以大家要有危机意识。 同样是干到35岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。 这也是为什么大家都说35岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。 为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师核心知识笔记》电子稿文件。 内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。 **269页《前端大厂面试宝典》** 包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。 ![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/00d428be7aeb4f9184313a8600f4624e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1772015439&x-signature=RSBd7QYxk2NRFSiwkuysD15V478%3D) **前端面试题汇总** ![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/1929f75686624be6beeefc246ec9f94e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1772015439&x-signature=YOM94DTaznKqOCnkEVnn3JAGkAU%3D) **开源分享:https://docs.qq.com/doc/DSmRnRGxvUkxTREhO**