当前位置: 首页 > news >正文

CSS - 元素竖向百分比的基准值是什么?

例如有一个外层DIV元素,设定width为500px,height为300px。然后在其内部添加一个DIV元素,这个时候,内部的DIV元素,如果设定height margin-top padding-top 百分比之后,他们的百分比基准值是什么呢?宽 OR 高 ?

目录

先来看一看高度

margin-top设定百分比呢?

padding-top设定百分比呢?

日常VS面试


先来看一看高度

比如我们子DIV元素,height设定为30%的话,看一下效果:

<html><head><meta charset="utf-8" /><title>元素竖向百分比的基准值</title><style>.box1 {width: 500px;height: 300px;border: 1px solid blue;}.boxInner {width: 30%;height: 30%;border: 1px solid red;}</style></head><body><div class="box1"><div class="boxInner"></div></div></body>
</html>

结论:可以看出,子DIV元素,宽度设定百分比,基准值就是父元素的宽度,高度设定百分比,基准值就是父元素的高度。 

margin-top设定百分比呢?

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>元素竖向百分比的基准值</title><style>.box1 {width: 500px;height: 300px;border: 1px solid blue;}.boxInner {margin-top: 10%;width: 30%;height: 30%;border: 1px solid red;}</style></head><body><div class="box1"><div class="boxInner"></div></div></body>
</html>

以上代码中,我们给子元素设定了margin-top为10%;如果最终效果margin-top值为50,那么就是跟着宽度走,基准值就是宽度,如果margin-top值为30,那么就是跟着高度走,基准值就是高度啦。也就是如下图的高度部分

结论:margin-top值是50px,50px是500px的百分之10,而不是300px的百分之10.所以,子元素的margin-top设定百分之,基准值应该是宽度

padding-top设定百分比呢?

你是不是特别想说,也是宽度,没错,就是宽度。哈哈,不要急,用事实说话。

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>元素竖向百分比的基准值</title><style>.box1 {width: 500px;height: 300px;border: 1px solid blue;}.boxInner {padding-top: 10%;width: 30%;height: 30%;border: 1px solid red;}</style></head><body><div class="box1"><div class="boxInner"></div></div></body>
</html>

以上代码中,我们给子元素设定了padding-top 值为10%, 如果padding-top的最终值为50px,那么其基准值就是宽度,如果padding-top的最终值为30px,那么其基准值就是高度。

结论:很明显,这么高,肯定不可能是30px,咋看都是50px。所以padding-top设定百分比的基准值也是父元素的宽度

日常VS面试

可能你会觉得,你这么做有什么意义吗?你直接说两句话不得了:子元素的高度设定百分比,基准值就是父元素的高度;子元素设定margin-top 和 padding-top ,其基准值是父元素的宽度。啰里啰嗦那么多字,浪费我时间。

日常中,我们很多东西,觉得习以为常,这不是很普通的基础知识嘛,觉得自己很熟练了。但很多东西,如果你真实做过案例,印象就会加深。要不然,你日常觉得很普通的东西,如果印象不深,面试的时候,就很容易觉得模糊,甚至面试官如果转换个问法,就不知道怎么回答了。

所以面试是一次考试,也是一次总结,更是一次日常的输出。日常熟练了,面试更能得心应手。

相关文章:

  • 平板显示LED背光芯片OC6700,输入3.6V~60V,升压型 LED 恒流驱动器
  • Linux设备驱动platform驱动
  • Springboot JVM监控 通过Promethus
  • PS怎么编程:深入探索Photoshop的编程奥秘
  • 静态网页实现-人脸识别-案例(web)
  • 代码随想录35期Day60-JavaScript
  • 产品经理的需求善变,利用规则引擎减少80%的需求变更成本
  • Python3 列表
  • 2023年简单易用的透明加密软件--安秉网盾企业数据防泄密方案
  • 选择正确的单位:百分比、视窗单位和像素单位在网页设计中的应用
  • [原创][Delphi多线程]TThreadedQueue的经典使用案例.
  • 双指针解题
  • uniapp uni-popup内容被隐藏问题
  • Python编程学习第一篇——Python零基础快速入门(五)—变量
  • k8s怎么监听资源的变更
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • canvas 高仿 Apple Watch 表盘
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Facebook AccountKit 接入的坑点
  • JAVA多线程机制解析-volatilesynchronized
  • Java反射-动态类加载和重新加载
  • Magento 1.x 中文订单打印乱码
  • rabbitmq延迟消息示例
  • Rancher-k8s加速安装文档
  • Redis学习笔记 - pipline(流水线、管道)
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 大整数乘法-表格法
  • 每天一个设计模式之命令模式
  • 我的zsh配置, 2019最新方案
  • 协程
  • 终端用户监控:真实用户监控还是模拟监控?
  • C# - 为值类型重定义相等性
  • # SpringBoot 如何让指定的Bean先加载
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (1)(1.11) SiK Radio v2(一)
  • (6)设计一个TimeMap
  • (C语言)逆序输出字符串
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (正则)提取页面里的img标签
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Reactor简单使用教程
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .net(C#)中String.Format如何使用
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET基础篇——反射的奥妙
  • .NET命令行(CLI)常用命令
  • .NET使用存储过程实现对数据库的增删改查