3. 定位尺寸

-> 尺寸

(1)height

基本语法

height : auto | length

语法取值

auto    :  默认值。无特殊定位,根据HTML定位规则分配
length :  由浮点数字和单位标识符组成的长度值 | 百分数。
百分数是基于父对象的高度。不可为负数。

使用说明

检索或设置对象的高度。对于 img 对象来说,仅指定此属性,其 width 值将根据图片源尺寸等比例缩放。按照样式表的规则,对象的实际高度为其下列属性值之和:

margin-top + border-top + padding-top + height + padding-bottom + border-bottom + margin-bottom

在IE6中使用 !DOCTYPE 声明指定 standards-compliant mode

可以实现这一点。而在IE6中如果没有将 !DOCTYPE 声明指定 standards-compliant 模式,以及以前的浏览器版本,对象的实际高度等于:

margin-top + height+ margin-bottom 此属性对于 currentStyle

对象而言是只读的。对于其他对象而言是可读写的。

(2)max-height

基本语法

max-height : none | length

语法取值

none    :  默认值。无最大高度限制。
length :  由浮点数字和单位标识符组成的长度值 | 或者百分数。不可为负数。

使用说明

设置或检索对象的最大高度。如果此属性的值小于 min-height 属性的值,将会被自动转设为 min-height 属性的值。

(3)min-height

基本语法

min-height : none | length

语法取值

none    :  默认值。无最小高度限制。
length :  由浮点数字和单位标识符组成的长度值 | 或者百分数。不可为负数。

使用说明

设置或检索对象的最小高度。如果此属性的值大于 max-height 属性的值,将会被自动转设为 max-height 属性的值。

在IE6中这个属性仅仅作用于固定布局的表格内的 td 对象, th 对象, tr 对象。表格的默认布局是自动计算的,要得到固定布局的表格,设置表格的

table-layout 属性的值为 fixed 。固定布局的算法比默认的自动算法要快很多。此属性对于 currentStyle

对象而言是只读的。对于其他对象而言是可读写的。设置或检索对象的最大高度。如果此属性的值小于 min-height 属性的值,将会被自动转设为 min-height 属性的值。

(4)width

基本语法

width : auto | length

语法取值

auto    :  默认值。无特殊定位,根据HTML定位规则分配。
length :  由浮点数字和单位标识符组成的长度值 | 百分数。
百分数是基于父对象的宽度。不可为负数。

使用说明

检索或设置对象的宽度。对于 img 来说,仅指定此属性,其 height 值将根据图片源尺寸等比例缩放。按照样式表的规则,对象的实际宽度为其下列属性值之和:

margin-left + border-left + padding-left + width + padding-right + border-right + margin-right

在IE6中使用 !DOCTYPE 声明指定 standards-compliant 模式可以实现这一点。而在IE6中如果没有将

!DOCTYPE 声明指定 standards-compliant mode,以及以前的浏览器版本,对象的实际宽度等于: margin-left + width + margin-right 此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

(5)max-width

基本语法

max-width : none | length

语法取值

none    :  默认值。无最大宽度限制。
length :  由浮点数字和单位标识符组成的长度值 | 或者百分数。不可为负数。

使用说明

设置或检索对象的最大宽度。如果此属性的值小于 min-width 属性的值,将会被自动转设为 min-width 属性的值。

(6)min-width

基本语法

min-width : none | length

语法取值

none    :  默认值。无最小宽度限制。
length :  由浮点数字和单位标识符组成的长度值 | 或者百分数。不可为负数。

使用说明

设置或检索对象的最小宽度。如果此属性的值大于 max-width 属性的值,将会被自动转设为 max-width 属性的值。

-> 定位

(1)position

基本语法

position : static | absolute | fixed | relative | sticky

语法取值

static     :  默认值。无特殊定位,对象遵循HTML定位规则
absolute :  将对象从文档流中拖出,使用 left , right , top , bottom 等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据 body 对象。而其层叠通过 z-index 属性定义。
fixed :  未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范
relative :  对象不可层叠,但将依据 left , right , top , bottom 等属性在正常文档流中偏移位置

使用说明

检索对象的定位方式。设置此属性值为 absolute 会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局。假如其他具有不同 z-index 属性的对象已经占据了给定的位置,他们之间不会相互影响,而会在同一位置层叠。此时对象不具有外边距( margin ),但仍有内边距( padding )和边框( border )。

要激活对象的绝对(absolute)定位,必须指定 left , right , top , bottom 属性中的至少一个,并且设置此属性值为 absolute 。否则上述属性会使用他们的默认值 auto ,这将导致对象遵从正常的HTML布局规则,在前一个对象之后立即被呈递。设置此属性值为 relative 会保持对象在正常的HTML流中,但是它的位置可以根据它的前一个对象进行偏移。在相对(relative)定位对象之后的文本或对象占有他们自己的空间而不会覆盖被定位对象的自然空间。与此不同的,在绝对(absolute)定位对象之后的文本或对象在被定位对象被拖离正常文档流之前会占有它的自然空间。放置绝对(absolute)定位对象在可视区域之外会导致滚动条出现。而放置相对(relative)定位对象在可视区域之外,滚动条不会出现。内容的尺寸会根据布局确定对象的尺寸。例如,设置一个 div 对象的 height 和 position 属性,则 div 对象的内容将决定它的宽度( width )。此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

属性值说明

relative

相对定位元素的定位是相对其正常位置。

设置相对定位元素的顶部,右侧,底部和左侧属性将使其远离其正常位置进行调整。其他内容不会被调整以适应元素留下的任何空白。即:移动相对定位元素,但它原本所占的空间不会改变。相对定位元素经常被用来作为绝对定位元素参照的容器块。

根据其静态定位所在位置的某个顶点做偏移。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>possition_relative</title>
<style type="text/css" media="screen">
h2.pos_left {
position: relative;
left: -2em;
}
h2.pos_right {
position: relative;
left: 2em;
}
h2.pos_bottom {
position: relative;
bottom: 10px;
}
</style>
</head>
<body>
<br><br><br>
<h2>这是位于正常位置的标题</h2>
<h2 class="pos_bottom">这是位于正常位置bottom的标题</h2>
<h2 class="pos_left">这是位于正常位置left的标题</h2>
<h2 class="pos_right">这是位于正常位置right的标题</h2>
</body>
</html>
fixed

元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动。top,right,bottom 和 left 属性用于定位元素。固定元素不会在页面中留下通常位于其中的间隙。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>possition_fixed</title>
<style type="text/css" media="screen">
p.pos_fixed {
position: fixed;
top: 30px;
right: 5px;
}
</style>
</head>
<body>
<h2>测试 possition_fixed</h2>
<p class="pos_fixed">possition_fixed</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
<p>Some text</p><p>Some text</p><p>Some text</p>
</body>
</body>
</html>
absolute

绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>。一旦一个元素被绝对定位,将离开原始队列,其原来的位置将被后续的元素占用。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>possition_absolute</title>
<style type="text/css" media="screen">
h2 {
position: absolute;
left: 100px;
top: 150px;
}
</style>
</head>
<body>
<h2>这是一个绝对定位了的标题</h2>
<p>用绝对定位,一个元素可以放在页面上的任何位置。标题下面放置距离左边的页面100 px和距离页面的顶部150 px的元素。</p>
</body>
</body>
</html>
sticky

sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。

position: sticky; 基于用户的滚动位置来定位。粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。

这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>possition_sticky</title>
<style type="text/css" media="screen">
div.sticky {
position: -webkit-sticky;
position: sticky;
top: 0;
padding: 5px;
background-color: #cae8ca;
border: 2px solid #4CAF50;
}
</style>
</head>
<body>
<p>尝试滚动页面。</p>
<p>滚动我</p>
<p>来回滚动我</p>
<p>滚动我</p>
<p>来回滚动我</p>
<p>滚动我</p>
<p>来回滚动我</p>
<div class="sticky">我是粘性定位!</div>
<div style="padding-bottom:2000px">
<p>滚动我</p>
<p>来回滚动我</p>
<p>滚动我</p>
<p>来回滚动我</p>
<p>滚动我</p>
<p>来回滚动我</p>
<p>滚动我</p>
<p>来回滚动我</p>
<p>滚动我</p>
<p>来回滚动我</p>
<p>滚动我</p>
<p>来回滚动我</p>
</div>
</body>
</html>

(2)z-index

基本语法

z-index : auto | number

语法取值

auto    :  默认值。遵从其父对象的定位。
number :  无单位的整数值。可为负数。

使用说明

检索或设置对象的层叠顺序。较大 number 值的对象会覆盖在较小 number 值的对象之上。如两个绝对定位对象的此属性具有同样的 number

值,那么将依据它们在HTML文档中声明的顺序层叠。对于未指定此属性的绝对定位对象,此属性的 number 值为正数的对象会在其之上,而 number

值为负数的对象在其之下。设置参数为 null 可以移除此属性。此属性仅仅作用于 position 属性值为 relative 或 absolute

的对象。

这个属性不会作用于窗口控件,如 select 对象。在IE5.5+中, iframe 对象开始支持此属性。而在之前的浏览器版本中, iframe

对象是窗口控件,会忽略此属性。此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

代码示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Z-index</title>
<style type="text/css" media="screen">
img {
position:absolute;
left: 0px;
top: 0px;
width: 100%;
z-index:-1;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<img src="背景.png" width="100" height="140" />
<p>因为图像元素设置了 z-index 属性值为 -1, 所以它会显示在文字之后。</p>
</body>
</html>

(3)top , right ,bottom ,left

基本语法

top : auto | length
right : auto | length
bottom : auto | length
left : auto | length

语法取值

auto    :  默认值。无特殊定位,根据HTML定位规则在文档流中分配 。
length :  由浮点数字和单位标识符组成的长度值 | 百分数。
必须定义 position 属性值为 absolute 或者 relative 此取值方可生效。

使用说明

检索或设置对象与其最近一个具有定位设置的父对象顶边相关的位置。

检索或设置对象与其最近一个具有定位设置的父对象右边相关的位置。

检索或设置对象与其最近一个具有定位设置的父对象底边相关的位置。

检索或设置对象与其最近一个具有定位设置的父对象左边相关的位置。

这些属性仅仅在对象的定位( position )属性被设置时可用。否则,这些属性设置会被忽略。这些属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

CSS 笔记——定位尺寸的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

随机推荐

  1. 洛谷P2901 [USACO08MAR]牛慢跑Cow Jogging

    题目描述 Bessie has taken heed of the evils of sloth and has decided to get fit by jogging from the barn ...

  2. 【比赛】洛谷夏令营NOIP模拟赛

    Day1 第一题 水题 第二题 题意:一个n*m的字符矩阵从左上到右下,经过字符形成回文串的路径数.n≤500 回文串,考虑两段往中间DP. f[k][x][y]表示走了k步,左上点横坐标为x,右下点 ...

  3. CSS animation怎么使用?(山东数漫江湖)

    animation可以为很多CSS属性添加动画,比如: color, background-color, height和width.animation的动画需要使用@keyframes来定义,随后被a ...

  4. 逃生(HDU4857 + 反向拓扑排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4857 题面是中文题面,就不解释题意了,自己点击链接去看下啦~这题排序有两个条件,一个是按给定的那个序列 ...

  5. ubuntu 玩转 nodejs

    安装nginx 首先添加nginx_signing.key(必须,否则出错) $ wget http://nginx.org/keys/nginx_signing.key $ sudo apt-key ...

  6. 调试应用程序(Debugging Applications)

    调试应用程序(Debugging Applications)¶ Phalcon中提供了提供了几种调试级别即通知,错误和异常. 异常类 Exception class 提供了错误发生时的一些常用的调试信 ...

  7. python基础===Windows环境下使用pip install 安装出错"Cannot unpack file"解决办法

    不知道为什么,加了豆瓣镜像源还是不行 这个命令可以解决! pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douba ...

  8. 64_l2

    libcec-devel-4.0.2-3.fc26.x86_64.rpm 22-May-2017 22:13 27942 libcephfs-devel-10.2.7-2.fc26.i686.rpm ...

  9. python mysql插入数据遇到的错误

    1.数据插入的时候报错:not enough arguments for format string,大概意思就是说没有足够的参数格式化字符串. 我的数据库插入方法是这样的 def add_data( ...

  10. Centos. Mac 通过nfs 搭建共享目录

    centos 关闭fiewalld,selinux yum install yum install nfs-utils portmap vim /etc/exports 文件写入时使用anonuid用 ...