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这个文件夹包含主题配置文件,可以新…

软件工程概论课后作业01

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

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

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

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

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

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

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

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>弹窗测试&…

mysql.ini环境配置_MySQL配置文件mysql.ini参数详解

my.ini(Linux系统下是my.cnf)&#xff0c;当mysql服务器启动时它会读取这个文件&#xff0c;设置相关的运行环境参数。my.ini分为两块&#xff1a;Client Section和Server Section。Client Section用来配置MySQL客户端参数。要查看配置参数可以用下面的命令&#xff1a;show va…

mysql数据备份在哪里_mysql之数据备份与恢复

本文内容&#xff1a; 复制文件法利用mysqldump利用select into outfile其它(列举但不介绍)首发日期&#xff1a;2018-04-19有些时候&#xff0c;在备份之前要先做flush tables &#xff0c;确保所有数据都被写入到磁盘中。复制文件法&#xff1a;对于myisam存储引擎的数据库&a…

python opencv 边缘检测_Python使用Opencv实现边缘检测以及轮廓检测的实现

边缘检测Canny边缘检测器是一种被广泛使用的算法&#xff0c;并被认为是边缘检测最优的算法&#xff0c;该方法使用了比高斯差分算法更复杂的技巧&#xff0c;如多向灰度梯度和滞后阈值化。Canny边缘检测器算法基本步骤&#xff1a;平滑图像&#xff1a;通过使用合适的模糊半径…

web程序入门五(http无状态)

Asp.net中的状态保持方案&#xff1a; ViewState&#xff1a;是donet特有的 微软提供的对象来完成状态保持 ViewState["key1"] 11; 赋值 键值对 形式 object类型 ViewState["key1"] 直接取值&#xff0c;将其转化成相应的类型 原理&#xff1a;本质…

互评Beta版本(Hello World!——SkyHunter)

1 基于NABCD评论作品&#xff0c;及改进建议 SkyHunter这款游戏我很喜欢&#xff0c;小时候总玩飞机类的游戏&#xff0c;这款游戏我上课的时候试玩了&#xff0c;在我电脑上运行是很好玩的&#xff0c;音乐震撼&#xff0c;画面玄幻&#xff0c;富有金属音乐的味道&#xff0c…

unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度

var arr [1, 2];arr.unshift(0); //result of call is 3, the new array length //arr is [0, 1, 2]arr.unshift(-2, -1); // 5 //arr is [-2, -1, 0, 1, 2]arr.unshift( [-3] ); //arr is [[-3], -2, -1, 0, 1, 2]语法 arr.unshift(element1, ..., elementN)参数列表 elemen…

markdown基础语法整理

标题级别(一共六级) &#xff08;建议在#后加一个空格比较标准&#xff09; 通过在文字下方添加“”和“-”&#xff0c;他们分别表示一级标题和二级标题。在文字开头加上 “#”&#xff0c;通过“#”数量表示几级标题。&#xff08;共1~6级标题&#xff0c;级别越小字体越大&a…

安卓源码下载

SetupSecurityPortingTuningCompatibilityReference转到源代码SetupGetting StartedDownloading and Building RequirementsEstablishing a Build EnvironmentDownloading the SourcePreparing to BuildCompiling with JackUsing Reference BoardsRunning BuildsBuilding Kerne…

mysql常用命令英文词汇_MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档

MySQL在高并发连接、数据库记录数较多的情况下&#xff0c;SELECT ... WHERE ... LIKE %...%的全文搜索方式不仅效率差&#xff0c;而且以通配符%和_开头作查询时&#xff0c;使用不到索引&#xff0c;需要全表扫描&#xff0c;对数据库的压力也很大。MySQL针对这一问题提供了一…

dobbo 简单框架

转载于:https://www.cnblogs.com/huangjianping/p/7986881.html

spring mysql整合_springboot mybatis mysql 整合

1、pom文件配置mysqlmysql-connector-javaruntimeorg.springframework.bootspring-boot-starter-testtestorg.mybatis.spring.bootmybatis-spring-boot-starter1.2.0org.springframework.bootspring-boot-starter-jdbc2、mybatis 数据库连接配置spring.datasource.driver-class…

微信小程序怎么取mysql_微信小程序如何加载数据库真实数据?

微信小程序要加载网站数据库里面的真实数据&#xff0c;有一个硬性的要求&#xff0c;就是你的网站域名必须是https协议才行&#xff0c;要不然你第一步服务器域名配置你都通过不了&#xff0c;小编我也是前不久申请的https://www.100txy.com&#xff0c;具体申请步骤大家自行去…

mysql定时任务

1. 查看是否开启定时策略 show variables like %event_sche%; 若出现如下图&#xff0c;则此时是关闭状态 开启定时策略(重启无效) set global event_scheduler 1; 则需要在配置文件my.ini的设置(重启有效) [mysqld] event_schedulerON //这一行加入mysqld标签下 2. 创建存储过…

02使用常规步骤编译NanoPiM1Plus的Android4.4.2

02使用常规步骤编译NanoPiM1Plus的Android4.4.2 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间&#xff1a;2017/12/5 17:51 版本&#xff1a;V1.0 开发板&#xff1a;NanoPi M1 Plus/zh SDK&#xff1a;Android4.4.2 按照全志A33平台编译调通的功能&…