定位

  • static - 默认值 (几乎不用,了解就可以)

absolute - 绝对定位,不为元素预留空间,脱离文档流:

  1. 如果当前元素的父级元素是<body>元素的话 -> 是相对于当前页面的定位
  2. 如果当前元素的父级不是<body>元素的话,父级元素没有开启定位 -> 则是相对于页面的定位
  3. 如果当前元素的父级不是<body>元素的话,父级元素开启定位 -> 则是相对于父级元素定位
    <style>
body {
margin: 0;/* 去掉浏览器默认的外边距8px */
}
div {
width: 200px;
height: 200px;
background-color: cyan;
/*
开启绝对定位
1.当前元素脱离文档流
2.如果不设置位置的偏移量的话,位置不会有任何变化的
*/
position: absolute;
/*
设置定位的偏移量:
* 水平方向正值 - 向右移动
* 水平方向负值 - 向左移动
* 垂直方向正值 - 向下移动
* 垂直方向负值 - 向上移动
*/
top: 100px;
left: 100px;
} </style>
</head>
<body>
<div></div>
</body>

fixed - 固定定位,不为元素预留空间:

  1. 是相对于窗口来定位元素位置,脱离文档流
    <style>
body {
margin: 0;
height: 1000px;
}
#d1 {
width: 200px;
height: 200px;
background-color: #83c44e;
/* 开启固定定位 - 相对于浏览器窗口的定位 */
position: fixed; left: 100px;
top: 100px;
}
#d2 {
width: 200px;
height: 200px;
background-color: cyan; position: absolute; left: 500px;
top: 100px;
}
</style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
</body>

relative - 相对定位,不脱离文档流

  1. 相对定位是相对于自身元素原来的位置的定位
    <style>
body{
margin: 0;
}
#d1{
width: 200px;
height: 200px;
background-color: cyan;
/* 外边距 */
margin: 100px;
}
#d2{
width: 100px;
height: 100px;
background-color: #ffac13;
/* 外边距 */
margin-left: 100px;
/* 相对定位是相对于自身元素原来的位置的定位 */
position: relative;
left: 100px;
}
</style>
</head>
<body>
<div id="d1">
<div id="d2"></div>
</div>
</body>

定位的方式解析图:


堆叠

  • z-index属性值大的在上方,小的在下方,就是所z-index属性值大的覆盖小的
 <style>
body{
margin: 0;
}
div{
width: 200px;
height: 200px;
}
#d1{ background-color: cyan;
/* 开启绝对定位 */
position: absolute;
/* 开启定位后设置偏移量 */
left: 150px;
top: 150px;
z-index: 2323;
}
#d2{
background-color: #ffac13; /* 开启相对定位 */
position: relative;
/* 开启定位后设置偏移量 */
left: 50px;
top:50px;
z-index:1;
}
/*
必须是当前元素开启定位的情况下,z-index属性才会有效
当多个属性设置z-index属性时 - 值大的会覆盖值小的
*/
</style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
</body>

堆叠分析图:


继承于层叠

继承

  • 继承就是父级元素的属性,子级元素使用可以不用设置直接使用
  • 注意: CSS属性中不是所用属性都可以继承
  • CSS的样式属性:
  1. 可继承的属性 - 指定元素的样式,同时作用其后代元素
  2. 不可继承的属性 - 只能作用在指定的元素

备注: 继承中有一个inherit值 - 就是是继承于祖先元素属性的意思,当子级元素的属性设置inherit值时代表继承父级元素使用的属性值.

    <style>
/*
CSS的样式属性:
1. 可继承的属性 - 指定元素的样式,同时作用其后代元素
2. 不可继承的属性 - 只能作用在指定的元素
*/
body{
/*
页面中的默认的字体大小为 16px
页面中的默认的颜色为黑色
*/
font-size: 148px;
color: cyan;
}
p{
/*
inherit值 - 是继承于祖先元素属性的意思
当前样式属性的值是继承于祖先元素
*/
font-size: inherit;
}
</style>
</head>
<body>
<p>一花一世界,一叶一孤城</p>
</body>

继承于层叠分析图

层叠

  • 就是选择器的优先级别,当为某个选择器设置 !important 时该选择器优先级别最大
  • 注意: 为某个选择器设置!important时会打乱原本选择器的优先级别的规则可能会影响整个页面布局,所以能不用就不用,知道有这个东西就行

HTML与CSS中的定位个人分享的更多相关文章

  1. CSS中的定位与浮动

    CSS中的定位与浮动 本文主要讲述CSS中的三种定位样式static.relative和absolute的区别以及浮动元素的特征. 定位样式 CSS中定位样式position的取值有三个,默认值:st ...

  2. 关于CSS中的定位使用子绝父相(子类绝对位置和父类相对位置)

    关于CSS中的定位使用子绝父相(子类绝对位置和父类相对位置) 欢迎转发,但是请填写原博客地址https://www.cnblogs.com/JNovice/p/9536910.html  前言:最近在 ...

  3. css中的定位属性position(转)

    css中的定位属性position   同样的也是上课的时候发现学生难以理解的一些问题拿出来记录一下,希望帮助初学者. 在css中定位属性position的运用在页面中是很常用的,特别是一些结合js来 ...

  4. 总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  5. [转]总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  6. CSS中的定位机制

    CSS3 中有三种定位机制 : 普通文档流 (text)| 浮动(float) | 定位(position) 普通文档流 就是CSS中默认的文本文档 普通流中,元素位置由文档顺序和元素性质决定,块级元 ...

  7. css中元素定位

    在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如下图所示 CSS中Position属性有四个可选值,它们分别是:static.absolute.fixed.relat ...

  8. css中的定位

    上一篇博客,我大概介绍了下浮动的使用及行为.其实在整个文档布局中,定位也对我们整个的页面排版有非常好的帮助,当然前提是使用得当. 一.定位分类: a.静态定位  position:static;   ...

  9. HTML与CSS中的文本个人分享

    文本 标题元素 注意: 在一个HTML页面中最好只使用一个<h1>标题 因为浏览器只会抓取一个多了没用 示例代码: <body> <!-- 标题元素 - <h1&g ...

随机推荐

  1. mysql 优化之索引的使用

    mysql 优化之索引的使用 1:MySQL 索引简介: MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL ...

  2. VASP学习笔记--简单的VASP运行实例:CrI3做非磁的优化

    一.总体思路 1)写入INCAR: 2)写入POSCAR,就是坐标文件: 3)写入KPOINTS文件,就是K点的选择: 4)写入POTCAR,写入POTCAR(找到势文件,然后按照POSCAR中的元素 ...

  3. vim字体设置

    经过多方试验,在win下设置vim的大小终于成功了,备份如下, 现在把gvim7.1更改字体的方法记录如下,一段时间后,可能会失效,对他人造成困扰吧?!^_^   在_vimrc中写:set guif ...

  4. Linux_OpenSSH远程连接

    目录 目录 SSH server SSH服务属性 SSH协议执行原理 SSH连接方式 ssh Commands scp commands sftp commands SSH在生产环境中的使用 系统间备 ...

  5. Oracle,Mysql 获取用户下所有表名,获取表所有的列名及数据类型

    Mysql 下面是mysql获取数据库所有表的语句 select table_name from information_schema.TABLES where TABLE_SCHEMA='Usern ...

  6. Linux iptables 防火墙常用规则

    iptables 安装 yum install iptables iptables 规则清除 iptables -F iptables -X iptables -Z 开放指定的端口允许本地回环接口(即 ...

  7. 网络编程.iocp

    1.(20191212)查到的一些资料:java从 JDK7开始 引入AOI(即 NIO2).然后 实现 IOCP使用的是 AsynchronousChannelGroup.AsynchronousS ...

  8. Windows node.js安装运行npm显示类似"ENOENT, stat 'C:\Users\XXXX\AppData\Roaming\npm'错误

    这个错误是在玩一个小的博客的时候,使用到node.js,正好使用的是windows系统就安装了一个windows32的node.js版本 结果一运行npm就出现如上的错误,后来发现,只要在上面提到的目 ...

  9. 关于this与e.target区别以及data-*属性

    1 this与event.target 在编写事件函数时可以传入一个event参数,even参数可以使用一个target属性如even.target用以调用,其作用是指向返回事件的目标节点(触发该事件 ...

  10. Skiing POJ 3037 很奇怪的最短路问题

    Skiing POJ 3037 很奇怪的最短路问题 题意 题意:你在一个R*C网格的左上角,现在问你从左上角走到右下角需要的最少时间.其中网格中的任意两点的时间花费可以计算出来. 解题思路 这个需要发 ...