一日一练-CSS CSS中percentage百分值的使用
子曰:学好百分值,考试考百分
首先是确定CSS 中的percentage 都可以应用在CSS 中的哪些属性,以及这些属性的值如何进行计算的,参考CSS 参考手册进行统计。
定位(Positioning)
top
用百分比来定义距离顶部的偏移量。百分比参照包含块的高度。可以为负值。right
用百分比来定义距离右边的偏移量。百分比参照包含块的宽度。可以为负值。bottom
用百分比来定义距离底部的偏移量。百分比参照包含块的高度。可以为负值。left
用百分比来定义距离左边的偏移量。百分比参照包含块的宽度。可以为负值。
尺寸与补白(Dimension)
width
用百分比来定义宽度。百分比参照包含块宽度。不允许负值。min-width
用百分比来定义最小宽度。不允许负值。max-width
用百分比来定义最大宽度。不允许负值。height
用百分比来定义高度。百分比参照包含块高度。不允许负值。min-height
用百分比来定义最小高度。不允许负值。max-height
用百分比来定义最大高度。不允许负值margin
用百分比来定义外补白。水平(默认)书写模式下,参照其包含块的width进行计算,其它情况参照height,可以为负值。padding
用百分比来定义内补白。水平(默认)书写模式下,参照其包含块的width进行计算,其它情况参照height,不允许负值。
背景与边框(Backgrounds and Borders)
border-radius
用百分比定义圆形半径或椭圆的半长轴,半短轴。水平方向百分比参照元素宽度(非内容宽度),垂直方向参照元素高度。不允许负值。border-image-width
用百分比指定图像边框的厚度。参照图像边框区域的大小(包含border和padding)进行换算。不允许负值。background-position
用百分比指定背景图像在元素中出现的位置。可以为负值。参考容器尺寸减去背景图尺寸进行换算。background-size
当属性值为百分比时,参照背景图像的background-origin区域大小进行换算(而不是包含块大小)。
字体(Font)
font-size
用百分比指定文字大小。其百分比取值是基于父对象中字体的尺寸。不允许负值。
文本(Text)
word-spacing
用百分比指定单词间隔。可以为负值。(CSS3)。text-indent
用百分比指定文本的缩进。可以为负值。vertical-align
把当前盒提升(正值)或者降低(负值)这个距离,百分比相对line-height计算。当值为0%时等同于baseline。line-height
用百分比指定行高,其百分比基于文本的font-size进行换算。不允许负值。text-size-adjust
用百分比来指定文本大小在设备尺寸不同的情况下如何调整。
伸缩盒(Flexible Box)(新)
flex-basis
用百分比来定义宽度。不允许负值。
变换(Transform)
transform-origin
用百分比指定坐标值。可以为负值。perspective-origin
用百分比指定透视点坐标值,相对于元素宽度。可以为负值。
总结
- 定位中的
top、right、bottom、left值为百分比时,都是参考包含块同方向的width或height进行计算值 - 尺寸与补白中的
height、*-height、width、*-width值为百分比时,也是参考包含块同方向的width或height进行计算值 - 而尺寸与补白中的
padding、margin,则是水平(默认)书写模式下,参照其包含块的width进行计算,也就是说同书写的方向相同。(大概是由于padding是同内容相关的,同时没有 继承性,在同一书写方向上便于计算值) - 字体中的
font-size则是基于父对象中字体的尺寸(大该是由于font-size有继承性) - 文本中的
text-indent也是基于包含块的width进行计算的,(推测是同书写方向相同,经验证确实是,当设置writing-mode为vertical-lr时,是基于包含块的height进行计算的) - 文本中的
line-height基于font-size进行计算,而vertical-align则是基于line-height进行计算的。 - 背景与边框中的
background-position则是基于容器尺寸减去背景图尺寸进行换算(是这么理解的,因为值为50% 时,使得图像居中,也就是)
`background-position` = (容器尺寸-背景尺寸)/2
- 背景与边框中的
background-size则是基于background-origin区域大小(很容易将一个图进行放大或缩小,下面两个图,分别是设置为50% 和33.3333% 的效果)


- 变换中的
transform-origin值为百分比时,横坐标参考元素的宽度,纵坐标参考元素的高度
一日一练-CSS CSS中percentage百分值的使用的更多相关文章
- 说说CSS学习中的瓶颈
虽已数年,但未就学习专门写过文章,这回破处了.苍蝇不叮没有缝隙的鸡蛋,领导不做没有跟拍的表演,同样,想到写CSS学习的文章也是有原因的(虽然我的不少行为没有原因). 情景再现(尊重隐私,下面故事中人名 ...
- CSS学习中的瓶颈期深入分析
虽已数年,但未就学习专门写过文章,这回破处了.苍蝇不叮没有缝隙的鸡蛋,领导不做没有跟拍的表演,同样,想到写CSS学习的文章也是有原因的(虽然我的不少行为没有原因). 情景再现(尊重隐私,下面故事中人名 ...
- 算警示吧——此文来自张鑫旭(说说CSS学习中的瓶颈)
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2523 虽已数年,但未 ...
- DIV+CSS布局中主要CSS属性介绍
Float: Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能 ...
- CSS布局中的水平垂直居中
CSS布局中的水平垂直居中 各位好,先说两句题外话.今天是我开通博客园的博客第一天,虽然我申请博客园的账号已经有一年半了,但是由于各种原因迟迟没有开通自己的博客.今天非常有幸开通博客,在此也写一篇关于 ...
- 怎样将多个CSS文件导入一个CSS文件中
问题: 在HTML中引入css的其中的两个方法: 导入式和链接式的目的都是将一个独立的css文件引入一个文件中,二者的区别不大,事实上,二者最大的区别在于链接式使用html的标记引入外部css文 ...
- DIV CSS布局中position属性用法深入探究
本文向大家描述一下DIV CSS布局中的position属性的用法,position属性主要有四种属性值,任何元素的默认position的属性值均是static,静态.这节课主要讲讲relative( ...
- 认识和理解css布局中的BFC
认识和理解css布局中的BFC BFC的定义 是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. Block Formatting Con ...
- CSS/CSS3中的原生变量var详解以及布局响应式网页扩展
使用语法 首先我们先来看一个例子:html代码: <div class="element">这是一段文字</div> css代码: .element { w ...
随机推荐
- 使用 js 设置组合快捷键,支持多个组合键定义,还支持 React
╭┈┈╮ ╭┈┈╮ ╭┈┈╮ ┆ ├┈┈..┈┈┈┈┈.┆ └┈╮┆ ├┈┈..┈┈┈┈┈..┈┈.┈┈..┈┈┈┈┈. ┆ ┆┆ □ ┆┆ ┈┤┆ < ┆ -__┘┆ ┆ ┆┆__ ┈┈┤ ╰ ...
- Algorithm --> 投资组和求最大利润
投资组和求最大利润 题目: 投资人出资一笔费用mount,投资给不同的公司(A,B,C....),求最大获取利润? 例如:投资400百万,给出两家公司A和B: 1.如果投资一百万给A公司,投资3百万给 ...
- [HNOI2002]营业额统计_Treap
[HNOI2002]营业额统计 题目大意:给你一串n数序列,对于每一个刚输入的数a,找到一个前面的数k,使得|a-k|最小. 注释:$n<=32767,ai<=10^6$. 想法:刚学Tr ...
- Android 优化APP 构建速度的17条建议
转载:http://www.jianshu.com/p/a1cc8f2e0877 较长的构建时间将会减缓项目的开发进度,特别是对于大型的项目,app的构建时间长则十几分钟,短则几分钟,长的构建时间已经 ...
- lua 二维数组创建
local arr= {} for i=1, 4 do arr[i] = {} end 使用时可以直接使用arr[i][j]
- Beta Scrum Day 4
听说
- 项目Alpha冲刺Day4
一.会议照片 二.项目进展 1.今日安排 学习熟悉前台框架且搭建前台页面框架. 2.问题困难 使用了前端的构建工具webpack,困难在于怎么使用gradle结合它连同后台框架中的配置一起打包,因为本 ...
- Java Collections API和泛型
Java Collections API和泛型 数据结构和算法 学会一门编程语言,你可以写出一些可以工作的代码用计算机来解决一些问题,然而想要优雅而高效的解决问题,就要学习数据结构和算法了.当然对数据 ...
- zookeeper入门系列:paxos协议
上一章讨论了一种强一致性的情况,即需要分布式事务来解决,本章我们来讨论一种最终一致的算法,paxos算法. paxos算法是由大牛lamport发明的,关于paxos算法有很多趣事.比如lamport ...
- 浏览器端类EXCEL表格插件 - 智表ZCELL产品V1.0.0.1版本发布
智表的优势 智表兼容与依赖 ZCELL 基于jQuery V1.11.3版本研发,兼容性依赖于jQuery自身的兼容性. 经过验证,目前IE.火狐.谷歌.360等主流浏览器均可以正常使用. 智表下载 ...