CSS 样式百分比
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 样式百分比的更多相关文章
- CSS样式常用属性整理
web工程师是最近5年刚刚兴起的一门高薪职业,人们的专注度越来越高. 那么前端除了学习html标签之外还需要掌握什么知识点呢? 为大家整理了一个和HTML标签密不可分的知识要点--<CSS样式常 ...
- CSS样式表(三)
前端人员在学习开发过程中常用的CSS样式总结: [margin] margin 检索或设置对象四边的外延边距 margin-top 检索或设置对象顶边的外延边距 margin-right 检索或设置对 ...
- [HTML/HTML5]2 CSS样式表设置
2.1 在HTML文件中设置样式表 当前HTML"规则"指出:HTML仅用于标识页面的内容,应该使用样式表来定义内容的呈现样式.这不仅使Web页面对于所有用户(无论采用什么浏览器 ...
- 用原生JS读写CSS样式的方法总结
为了日后方便查询,本人翻阅了一些资料总结了以下方法,仅限原生JS,如有不对的地方欢迎指出!只求大家看完觉得有学到点什么就OK了! 一.可以通过DOM节点对象的style对象(即CSSStyleDe ...
- CSS样式----图文详解(二):css属性
主要内容 CSS的单位 字体属性 文本属性 背景属性 列表属性 盒子模型 定位属性:position.float.overflow.z-index等 导航栏的制作 鼠标的属性cursor 滤镜的介绍 ...
- bootstrap学习总结-css样式设计(一)
由于项目需要,所以打算好好学习下bootstrap框架,之前了解一点,框架总体不难,但涉及到的东西还是很多,想要熟练掌握它,还是要多练练. 一:bootstrap是什么? bs是什么? 即前端页面搭 ...
- HTML前端——CSS样式
使用CSS样式的方式: HTML<!DOCTYPE> 声明标签 内链样式表<body style="background: green; margin: 0; paddin ...
- 利用JS脚本通过getAttribute()和setAttribute()等对CSS样式进行操作
HTML中引入CSS样式的方式有三种: 1.最常用的,引入样式表,在样式表中编写样式,引入方式如下:<link href="css/style.css" rel=" ...
- PHP.9-HTML+CSS(三)-CSS样式
CSS样式 CSS是Cascading Style Sheets的简写,它除了可以轻松设置网页元素的显示位置和格式处,甚至还能产生滤镜,图像淡化,网页淡入淡出的渐变效果.CSS就是要对网页的显示效果实 ...
- HTML CSS样式基础
一.css 1.什么是css? Cascading Style Sheet 级联样式表 改变样式的一个工具,说白了,就是为了让我们的页面好看, HTML底层封装了css这样一个工具. 2.怎么使用cs ...
随机推荐
- Angular 18+ 高级教程 – Angular 的局限和 Github Issues
前言 Angular 绝对有很多缺陷,Issue 非常多,workaround 非常多. 我以前至少有 subscribe 超过 20 个 Issues,几年都没有 right way 处理的. An ...
- TypeScript 高级教程 – TypeScript 类型体操 (第三篇)
前言 在 第一部 – 把 TypeScript 当强类型语言使用 和 第二部 – 把 TypeScript 当编程语言使用 后, 我们几乎已经把 TypeScript 的招数学完了. 第三部就要开始做 ...
- Cookie——基本使用
Cookie 基本使用 Cookie 原理 Cookie 使用细节 Cookie jsp中获取Cookie
- QT网络编程之如何使用QT6框架QTcpServer和QTcpSocket网络编程实现变长数据包收发:以用户注册和登录为实例讲解
QT网络编程之如何使用QT6框架QTcpServer和QTcpSocket网络编程实现变长数据包收发:以用户注册和登录为实例讲解 简介 本文将介绍如何使用QT6框架QTcpServer和QTcpSoc ...
- Hugging Face 论文平台 Daily Papers 功能全解析
文/ Adeena, 在快速发展的研究领域,保持对最新进展的关注至关重要.为了帮助开发者和研究人员跟踪 AI 领域的前沿动态,Hugging Face 推出了 Daily Papers 页面.自发布以 ...
- bfs 与优先队列————洛谷p1126(历经两个小时总算AC了,哭晕)
机器人搬重物 题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一个直径 \(1.6\) 米的球.在试验阶段,机器人被用于在一个储藏室中搬运货物.储藏室是一个 \(N\tim ...
- 【赵渝强老师】Redis案例分析:用setbit统计活跃用户
一.需求背景 首先,我们来看一下需求:网站统计用户登录的次数,具体如下: 网站有1亿个用户,有经常登录的,也有不经常登录的 如何来记录用户的登录信息 如何查询活跃用户:比如:一周内,登录3次的 二.使 ...
- C# 的空类型
// 空类型 null int iii; // 默认 0 bool bbb; // 默认 false bool? b; // 空值 null int? i; // 空值 null string str ...
- kotlin更多语言结构——>解构声明
解构声明 有时把一个对象 解构 成很多变量会很方便,例如: val (name, age) = person 这种语法称为 解构声明 .一个解构声明同时创建多个变量.我们已经声明了两个新变量:name ...
- myBatis插入操作获取不到返回的自增id问题
myBatis插入操作后想返回自增 id 有多种方式 其中一种使用率较高的就是: 在<insert></insert> 标签中添加 useGeneratedKeys 和 key ...