css加了固定定位就不显示内容_前端开发必备,学好”定位“向菜鸟说拜拜

众所周知,前端CSS中,盒模型、浮动、定位为必须掌握的三座大山。

今天就来聊聊定位的那些事。

789b96241125a2df5ae8f2ba97184736.png

定位是什么?

先来看看哪些场景用到定位,如下图所示,凡是有盒子压住另一个盒子的地方都可定位,因为用浮动做不了,如果盒子浮动,会并排但不会出现有层级的观感。所以想要有层级的观感,就得用定位。

简单来说,定位就是将盒模型中的盒子显示在我们想要的位置。

79cad309731d746b84c9e4e5986bd2de.png

定位的语法

定位由position属性和边偏移属性组成。

position属性语法为:{position:属性值},常用值如下:

031a81e790d4bd9471de0e6a945f258a.png

边偏移属性语法为:{边偏移:属性值},常用值如下:

d65491b934bce8e3c5ea7f03cdd599e0.png

定位模式和用法

1、静态定位static

静态定位具备标准流特性,所有元素默认静态定位,静态定位不能通过设置边偏移改变位置。

静态定位的作用:取消定位。

2、相对定位relative

相对定位在标准流中,采用相对定位的盒子仍然占用原来的位置。每次移动位置,以自己的左上角为基点移动(相对于自己移动位置)

3、绝对定位absolute

绝对定位不具备标准流特性,采用绝对定位的盒子在设置边偏移后不占位置。

绝对定位的盒子在父级没有定位时,以浏览器为准对齐;当父级有定位,依据最近的已定位的父元素进行定位。

4、固定定位fixed

固定定位不具备标准流特性,不占位置,始终以浏览器为标准显示位置,不管浏览器滚动和窗口大小,fixed显示固定。

终极用法口诀:子绝父相,或子绝父绝。

就是说,在实际开发过程中,子盒子采用绝对定位,那么父盒子必定采用相对定位或绝对定位。

如果要实现绝对定位的盒子水平或垂直居中需要采用一定的算法。因为加定位有偏移和浮动的盒子通过设置margin值实现水平居中失效。那么采用以下方法:

先设置左边偏移50%,50%表示父盒子的一半,即left:50%。

再设置自己盒子外边距为盒子宽度负的一半,即margin-left:-width/2。

997479053894d9bedefb5bb5d93b0b42.png

定位模式转换

当盒子加fixed和absolute定位,元素转换为行内块元素。

如果盒子固定定位,当盒子内容为空时,盒子的高度会为0,为避免这种情况可设置盒子的宽高,再设置下面的盒子的margin值,可实现top通栏固定不动。如下图的首页展示固定top通栏。

层级z-index

当定位元素重叠,可通过z-index设置层叠次序。

ce07af0f2148a1ccd86234db00bbd772.png

层级z-index只针对定位的元素,标准流和浮动不具备该属性。

层级z-index的用法:z-index:2;后面没有单位。

采用相对定位比标准流高一层级,浮在上面。

盒子已经用相对定位,但是鼠标放上去还想用相对定位,就可用z-index。

取值相同时,根据书写顺序,后来居上。

默认为0,值越大层级越高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode更换主题的插件_VScode 插件开发(三)主题

咱们上回书说道,安装完基础环境,我们要来玩自己的主题了1. 创建一个主题项目$ yo code选中 New Color Theme接下来照图中所选,完成项目创建(简单英语不做解释)打开项目如图2. 配置文件2.1 themes这个文件夹包含主题配置文件,可以新…

sql之引擎介绍

数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB)&#xff0…

jquery查找ul属性不是hide,jQuery的ul显示/隐藏功能

Im trying to hide my divs which will have content in them when finished. I have a jsFiddle file and some of the coding is not complete, just wrote it very fast to give you an idea.I believe that the ul is making it not be created correctly.解决方案The html…

HttpContext

相关知识点:ttp://www.cnblogs.com/wujy/p/3264475.htmlHttpContext context HttpContext.Current; if( context ! null ) {// 在这里访问与请求有关的东西。 } 记录当前用户信息的线程当前线程是指与【当前请求】相关的线程。在ASP.NET中,有些线程并非…

mysql if 多个_MySQL使用IF语句CONCAT多个字段

语法不正确.你想使用CASE:SET loc_name Location;SET add_street Add Street;SET add_number 10;SET x_street_1 Street 1;SET x_street_2 Street 2;SET city City;SET state State;SET country Country;SELECT Concat(loc_name, \n, CASEWHEN add_number !…

IOS+Android马甲包封装上架!

目的 我们有自己的一个主网站平台,为了推广我们的主网站平台,我们需要长期制作大量马甲app,然后引导用户到我们的主网站游戏,所以,你制作的app的功能只给审核人员看到,只是为了应付审核,app上架…

软件工程概论课后作业01

1. 网站系统开发需要掌握的技术 ①java语言 Java语言体系比较庞大,包括多个模块。从WEB项目应用角度讲有JSP,Servlet,JDBC,JavaBean(Application)四部分技术。JDBC可做三件事情:与数据库建立连接…

mysql low_case_MySQL8.0的坑之lower_case_table_names

在安装了8.0.14之后,初始化的时候在my.cnf里设置了lower_case_table_names1,安装好了之后,启动报错:2019-01-28T13:24:24.91946308:00 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.14) starting as…

php5.4 mysql connect_php5.4 Call to undefined function mysql_connect()

今天学习PHP中连接MySQL,使用mysql_connect()函数时,碰到以下错误:“Call to undefined function mysql_connect()”,PHP版本:5.4.29MySQL版本:5.5.28Apache版本:2.2.22解决方法如下&#xff1a…

Js slice()方法和splice()方法

1、slice(start,end) 从已有的数组中返回选定元素,参数start必填&#xff0c;end选填 <script>delArray();function delArray(){var workExp["早上","中午","下午","晚上"];var a workExp.slice(0,3);//早上&#xff0c;中午&am…

mysql 参数bug_MySQL 的这个 BUG,坑了多少人?

作者&#xff1a;腾讯数据库技术来源&#xff1a;cloud.tencent.com/developer/article/1367681▌问题描述近期&#xff0c;线上有个重要Mysql客户的表在从5.6升级到5.7后&#xff0c;master上插入过程中出现"Duplicate key"的错误&#xff0c;而且是在主备及RO实例上…

mongodb 2php 操作

1连接 db.getCollection(test).find({}) // 连接Mongo数据库 数据库地址:端口/账号:密码; $mongo new Mongo(mongodb://localhost:27017/admin:admin); $this->link new \MongoClient(mongodb://user:passwordhost:port/dbname); // 选择一个数据库和要操作的集(如果没有…

i9 9900k mysql_i9-9900K和9900KS有什么区别?i9-9900KS和i9-9900K区别对比评测

众所周知&#xff0c;i9-9900KF相当于i9-9900K去除核显的版本&#xff0c;其它参考保持一致&#xff0c;所以在性能上也是相同的。不过在近期&#xff0c;intel牌牙膏厂再一次发布了一款九代酷睿i9-9900KS特别版&#xff0c;从产品型号S后缀上来看&#xff0c;确实有点类似于NV…

Memory及其controller芯片整体测试方案(上篇)

如果你最近想买手机&#xff0c;没准儿你一看价格会被吓到手机什么时候偷偷涨价啦&#xff01; 其实对于手机涨价&#xff0c;手机制造商也是有苦难言&#xff0c;其中一个显著的原因是存储器芯片价格的上涨↗↗↗ >>> 存储器memory的江湖地位 存储器memory&#xff0…

MySQL水表查询系统_水费管理系统

数据库-水费管理系统根据数据库设计步骤&#xff1a;需求分析、逻辑结构设计、概念结构设计、物理结构设计、数据库实施、数据库的运行和维护等几个阶段来执行的。现在处于前期准备阶段。由于之前一直考试&#xff0c;也没有把它具体实现&#xff0c;在接下来的一段时间里会逐渐…

SVN中如何去除版本控制器

https://www.cnblogs.com/lrzr/p/6079772.html转载于:https://www.cnblogs.com/ZkbFighting/p/7886762.html

mysql编译安装后目录空_MySQL源码安装完成后修改安装路径启动问题

在Linux上源码编译安装完mysql后&#xff0c;又将安装的路径进行了修改&#xff0c;但是发现在设置后环境变量后启动报错&#xff0c;如下&#xff1a;[rootHServer_03 var]# mysqld_safe --usermysql &[1] 31248[rootHServer_03 var]# 110422 11:04:00 mysqld_safe Loggin…

mac下用xattr命令来删除文件的扩展属性

mac下发现不能用记事本打开文本文件&#xff0c;ls -la 发现格式后面有个 [plain] view plaincopy wenke-mini:changeServer wenke$ ls -la total 144 drwxr-xr-x 20 wenke staff 680 6 4 16:37 . drwxr-xr-x 22 wenke staff 748 6 3 16:54 .. -rw-r--r-- 1…

mysql 5.6 修改端口_mysql5.6.24怎么修改端口号

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html# *** DO NOT EDIT THIS FILE. Its a template which will be copied to the# *** default loca…

BootStrapJS——modal弹出框

学习参考视频https://ninghao.net/video/1615 1.对话框 - Modal 需要bootstrap的CSS文件引入&#xff0c;以及jQuery的js包 1 <!DOCTYPE html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 <title>弹窗测试&…