1.宽高百分比

  • 元素宽度/高度百分比是基于父级元素的width/height,不包含padding,border
  • 注意:高度百分比一定要求父元素有设置height属性,只设置 min-height 虽然父元素会有高度,单子元素使用百分比无法继承
.box {
width: 400px;
height: 200px;
padding: 20px;
background-color: red;
} .item {
width: 100%;
height: 100%;
background-color: blue;
}
<div class="box">
<div class="item">item元素的width为400px 高度为200px</div>
</div>
  • 如果父级元素box-sizing: border-box,子级元素大小的百分比基于父级真正的大小,即除去padding,border之后的大小
.box {
width: 400px;
height: 400px;
padding: 20px;
background-color: red;
box-sizing: border-box;
} .item {
width: 100%;
height: 200px;
background-color: blue;
}
<div class="box">
<div class="item">父级box的宽度被padding占用40px,item元素的宽度只剩360px</div>
</div>

2.定位元素的宽高百分比

  • 子级定位元素的宽100%=父级定位元素width+padding的大小
  • 子级定位元素的高100%=父级定位元素height+padding的大小

注意的是:这里继承的并非是直接的父元素,而是父级定位元素,如果直接父元素没有定位 ,则继续查找更上一级的父元素,直到找到有定位的父元素或者body为止

.box {
width: 400px;
height: 200px;
padding: 20px;
background-color: red;
position: relative;
border: 10px solid #ccc;
margin: 50px;
} .item {
width: 100%;
height: 100%;
background-color: blue;
position: absolute;
top:0;
left:0;
}
<div class="box">
<div class="item">item元素的width=440,item元素的height=240</div>
</div>

如果父元素是怪异盒模型,则父元素的width按实际的来计算

3.padding和margin百分比

子元素的padding和margin都是基于父元素的宽度

#box{
width: 500px;
}
#box > div{
width: 300px;
padding-left: 10%;
margin-left: 10%;
}
<div id="box">
<div></div>
</div>
$(function() {
console.log($('#box>div').css('paddingLeft'));//50px
console.log($('#box>div').css('marginLeft'));//50px
})

4.line-height百分比

line-height设置百分比是基于当前字体大小,默认值为100%

#box{
font-size: 20px;
line-height: 100%;
} <div id="box"></div>
$(function(){
console.log($('#box').css('lineHeight'));//20px
})

CSS 样式百分比的更多相关文章

  1. CSS样式常用属性整理

    web工程师是最近5年刚刚兴起的一门高薪职业,人们的专注度越来越高. 那么前端除了学习html标签之外还需要掌握什么知识点呢? 为大家整理了一个和HTML标签密不可分的知识要点--<CSS样式常 ...

  2. CSS样式表(三)

    前端人员在学习开发过程中常用的CSS样式总结: [margin] margin 检索或设置对象四边的外延边距 margin-top 检索或设置对象顶边的外延边距 margin-right 检索或设置对 ...

  3. [HTML/HTML5]2 CSS样式表设置

    2.1  在HTML文件中设置样式表 当前HTML"规则"指出:HTML仅用于标识页面的内容,应该使用样式表来定义内容的呈现样式.这不仅使Web页面对于所有用户(无论采用什么浏览器 ...

  4. 用原生JS读写CSS样式的方法总结

    为了日后方便查询,本人翻阅了一些资料总结了以下方法,仅限原生JS,如有不对的地方欢迎指出!只求大家看完觉得有学到点什么就OK了!   一.可以通过DOM节点对象的style对象(即CSSStyleDe ...

  5. CSS样式----图文详解(二):css属性

    主要内容 CSS的单位 字体属性 文本属性 背景属性 列表属性 盒子模型 定位属性:position.float.overflow.z-index等 导航栏的制作 鼠标的属性cursor 滤镜的介绍 ...

  6. bootstrap学习总结-css样式设计(一)

    由于项目需要,所以打算好好学习下bootstrap框架,之前了解一点,框架总体不难,但涉及到的东西还是很多,想要熟练掌握它,还是要多练练. 一:bootstrap是什么? bs是什么?  即前端页面搭 ...

  7. HTML前端——CSS样式

    使用CSS样式的方式: HTML<!DOCTYPE> 声明标签 内链样式表<body style="background: green; margin: 0; paddin ...

  8. 利用JS脚本通过getAttribute()和setAttribute()等对CSS样式进行操作

    HTML中引入CSS样式的方式有三种: 1.最常用的,引入样式表,在样式表中编写样式,引入方式如下:<link href="css/style.css" rel=" ...

  9. PHP.9-HTML+CSS(三)-CSS样式

    CSS样式 CSS是Cascading Style Sheets的简写,它除了可以轻松设置网页元素的显示位置和格式处,甚至还能产生滤镜,图像淡化,网页淡入淡出的渐变效果.CSS就是要对网页的显示效果实 ...

  10. HTML CSS样式基础

    一.css 1.什么是css? Cascading Style Sheet 级联样式表 改变样式的一个工具,说白了,就是为了让我们的页面好看, HTML底层封装了css这样一个工具. 2.怎么使用cs ...

随机推荐

  1. 支付宝携手HarmonyOS SDK打造高效便捷的扫码支付体验

    背景 在日常的购物转账.生活缴费等在线支付中,用户在正式拉起支付界面前,均需要至少经历一次"识别"+两次"寻找",即识别归属应用.寻找应用.寻找扫码入口,才能完 ...

  2. 字节跳动的多平台绽放秘诀 | Flutter 开发者故事

    字节跳动旗下运营着一系列成功的用户产品.企业应用以及服务,覆盖信息.教育.娱乐等不同领域.随着产品阵容的不断发展,传统的原生双平台开发已经难以满足团队更高效.更灵活.更精美,以及更多样的产品研发需求. ...

  3. 2How To Use Python On A Web Page With Jinja2 - Fla 21:30

    # localhost:5000/user/John @app.route("/user/<name>") def user(name): return render_ ...

  4. foobar2000 v2.1.6 汉化版

    foobar2000 v2.1.6 汉化版 -----------------------[软件截图]---------------------- -----------------------[软件 ...

  5. 形参和实参的区别 and 联系

    联系:形参和实参是赋值关系,是按照值传递的,简单数据直接传递值,形参和实参的改变互不影响,因为形参和实参是两个变量,是两个数据(栈内存): 引用数据传递的是地址,结果就是一个数据,两个地址同时指向一个 ...

  6. 鸿蒙NEXT开发声明式UI是咋回事?

    大家好,我是 V 哥,ArkTS 是 HarmonyOS 优选的主力应用开发语言,它在 TypeScript 的基础上进行了扩展,提供了声明式 UI 描述.自定义组件和动态扩展 UI 元素的能力.这些 ...

  7. MIT 6.002 Circuits and Electronics by Prof. Anant Agarwal

    官网:MIT 2007 Circuits and Electronics 参考资料,课程讲义,课程PPT. 国内的电路像石群老师,罗先觉老师,讲的很细致,也许跟教材有关系,像电阻串并联的等效电阻就用了 ...

  8. AI For Everyone_Week_1 By Andrew NG 课程英文

    AI For Everyone__Week__1 By Andrew NG 1 Introduction Welcome to AI for everyone. AI is changing the ...

  9. manim边学边做--通用二维坐标系

    Manim的Axes对象是通用的坐标系对象,之前几篇介绍的数轴和各种坐标平面都是继承Axes对象. Axes对象的主要作用在于创建和管理二维坐标轴,以满足我们制作数学动画时的各种需求. 具体来说,Ax ...

  10. 每日学学Java开发规范,代码格式(附阿里巴巴Java开发手册(终极版))

    前言 每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量. 想细看的可以去 ...