【CSS】定义元素的位置
CSS定义元素的位置
html元素的position属性,有4个属性值,分别是static、relative、fixed、absolute
static:
1、默认值,一般不显式设置为static
2、即使设置top、bottom、left、right,元素的位置不会发生改变
3、会随着页面滚动条移动
4、代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>position static</title>
<style>
.static{
border: 2px solid red;
/*position: static; 不管有没有这行代码,浏览器中看到的效果都一样,因为默认情况下,元素的position值就是static*/
width: 100px;
height: 100px;
}
.wh{
width: 100%;
height: 800px;
background-color: grey;
}
</style>
</head>
<body>
<h1>position static</h1>
<div class="static">
div元素的position:static
</div>
<div class="wh"></div>
</body>
</html>
relative:
1、元素相对于它原来的位置进行移动,移动的参考物就是浏览器默认给元素渲染出的那个位置
2、需要设置top、bottom、left、right,元素的位置才会移动
3、不设置top、bottom、left、right,则元素的位置不会移动。
4、left的值可正可负,为正,则元素位置往右边移动,为负,则往左边移动。right、top、bottom也一样,可正可负
5、元素移动后,原来的位置还存在文档流中,不会被其他元素填充上去。
6、会随着页面滚动条移动
7、代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>position relative</title>
<style>
.relative{
border: 2px solid red;
width: 300px;
height: 200px;
/*如果只设置position属性,而不设置top、bottom、left、right,则元素位置不会发生改变*/
position: relative;
top:15px;
left:100px;
} .wh{
width: 100%;
height: 800px;
background-color: grey;
}
p{
border: solid 1px blue;
}
</style>
</head>
<body>
<h1>relative</h1>
<div class="relative">
div element position:relative
</div>
<p>div位置移动后,p元素不会填充div元素移动前的那个位置</p> <div class="wh"></div>
</body>
</html>
fixed:
1、需要设置top、bottom、left、right,才会相对于它原来的位置进行移动,这点跟relative一样。
2、不设置top、bottom、left、right,则元素的位置不会移动。
3、元素在相对自己原来的位置移动后,页面滚动条滚动时,元素相对浏览器视图窗口的位置保持不变,即元素不会随着页面滚动条移动。
4、代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>position fixed</title>
<style>
.fixed{
border: 2px solid blue;
width: 200px;
height: 100px;
/*如果只设置postion,而不设置top、bottom、left、right,则元素的位置不会发生改变*/
position: fixed;
top:200px;
left: 200px;
} .wh{
width: 100%;
height: 800px;
background-color: grey;
}
</style>
</head>
<body>
<h1>fixed</h1>
<div class="fixed">
div element position:fixed
</div>
<div class="wh"></div>
</body>
</html>
absolute:
1、移动参考物,是它的上级指定了位置的一个元素,它的上级元素可以是父级,也可以是父级的父级。
2、它的上级元素必须指定了position属性的值为relative、fixed、absolute之一(static排除在外)
3、需要设置top、bottom、left、right,元素的位置才会移动
4、一般会搭配一个position属性为relative的父级元素使用
5、代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>position absolute</title>
<style>
.parent {
border: 2px solid red;
width: 400px;
height: 300px;
padding: 10px;
position: relative;
} .absolute{
border: 2px solid blue;
width: 200px;
height: 50px;
position: absolute;
top: 50px;
left: 100px;
}
</style>
</head>
<body>
<div class="parent">
parent element position:relative
<div class="absolute">
div element position:absolute
</div>
</div>
</body>
</html>
【CSS】定义元素的位置的更多相关文章
- css中元素的位置
一.display 1.display:none 隐藏标签 2.display:inline 将块级标签改为内联标签 3.display:block 将内联标签改为块级标签 4.display:inl ...
- CSS定义字体间距 字体行与行间距
CSS定义字体行间距 line-height:xxpx; CSS定义字体间距 下面我们讲述一下CSS的文本属性,还是先来看一下文本属性的详细列表: 属性 属性含义 属性值 Word-s ...
- CSS块元素与内联元素(转)
为什么<a><span>这种标签定义width,height等CSS属性时会发现完全不生效? 因为它们不是容器,它们是内联元素,不是块元素 CSS 块元素与内联元素 关键字: ...
- 【CSS】元素样式
1.使用CSS的三种方式: 方式一.通过元素的style属性来设置元素的样式 方式二.在HTML头部标签<head>中通过<link>标签引入一个外部的CSS资源,通常是一个C ...
- 通过jquery获得某个元素的位置, 透明div, 弹出框, 然后在旁边显示toggle子级联菜单-hover的bug解决
jquery的"筛选选择器", 都是用冒号开头的, 即, 冒号选择器就是 筛选选择器.如: :first, :last, :eq(index), :first-child,...等 ...
- (转)CSS定义字体间距 字体行与行间距
源网址:http://www.cnblogs.com/jian1982/archive/2010/07/03/1770349.html CSS定义字体行间距 line-height:xxpx; CSS ...
- css确定元素水平居中和垂直居中
---恢复内容开始--- 首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当 ...
- HTML。CSS浮动元素详解
浮动定位是指 1.1将元素排除在普通流之外,即元素将脱离标准文档流 1.2元素将不在页面占用空间 1.3将浮动元素放置在包含框的左边或者右边 1.4浮动元素依旧位于包含框之内 2. 浮动的框可以向左或 ...
- CSS伪类与CSS伪元素的区别及由来
关于两者的区别,其实是很古老的问题.但是时至今日,由于各种网络误传以及一些不负责任的书籍误笔,仍然有相当多的人将伪类与伪元素混为一谈,甚至不乏很多CSS老手.早些年刚入行的时候,我自己也被深深误导,因 ...
随机推荐
- linux gz 解压缩
Linux压缩保留源文件的方法:gzip –c filename > filename.gzLinux解压缩保留源文件的方法:gunzip –c filename.gz > filenam ...
- C#Unit单元测试之读取Web.config文件
长期一来,我们所完成的项目都没有写单元测试,今天我一时兴起,决定给自己写的代码写单元测试,简单的测试代码分分钟完成了,一运行测试,就懵逼了.没能达到我的预期效果,而是出现图1所示错误. 图1:单元测试 ...
- java.lang.IllegalStateException: Cannot forward after response has been committe
参考:https://blog.csdn.net/lewky_liu/article/details/79845655 加上 return 搞定
- 数据库历险记(二) | Redis 和 Mecached 到底哪个好?
文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3npq6ecr.bkt.clouddn.com/ ...
- Java中的Calendar日历用法详解
第一部分 Calendar介绍 public abstract class Calendar implements Serializable, Cloneable, Comparable<Cal ...
- 【原】python3.7 无法pip安装提示ssl错误解决方案
问题 pip is configured with locations that require TLS/SSL, however the ssl module in Python is not av ...
- dijkstra算法计算最短路径和并输出最短路径
void dijisitela(int d, int m1) { ], book[], path[], u, v, min; l = ; ; i < n1; i++) { dis[i] = w[ ...
- 1090. Highest Price in Supply Chain (25)-dfs求层数
给出一棵树,在树根出货物的价格为p,然后每往下一层,价格增加r%,求所有叶子节点中的最高价格,以及该层叶子结点个数. #include <iostream> #include <cs ...
- C. Classy Numbers
链接 [http://codeforces.com/contest/1036/problem/C] 题意 给你l,r,让你找在这个闭区间内位数不为0不超过3的个数,1<=l,r<=1e18 ...
- akm
队名--牛肉面不要牛肉不要面 队伍成员 211406285 林志松 [队长兼前端开发] 211606368 林书浩 [系统设计] 211606357 陈远军 [UI美工] 211606335 吴沂章 ...