css-padding

news2024/10/6 22:22:08

文章目录

  • padding
    • padding与元素的尺寸
      • 对于block块状水平元素
        • 复杂关系
          • 影响元素尺寸
          • 不影响元素尺寸
          • 最小宽度显示
        • 关系总结
      • 对于inline内联水平元素
        • 复杂关系
          • 水平padding影响尺寸
          • 垂直padding影响背景色区域
    • padding负值和百分比值
      • 负值
      • 百分比值
        • inline水平元素的padding的百分比值
        • 空inline元素+padding高宽也不相等
        • 空inline元素+padding+font-size为0,高宽就相等
        • 额外高度产生的原因
    • CSS 标签元素的内置padding
        • ol/ul列表的内置padding-left值
        • 表单元素的内置padding值
        • button表单按钮padding
          • 原生button
    • padding与图形绘制
      • 三道杠
      • 白眼效果
    • padding与布局
      • 移动端1:1头图布局
      • 配合margin,实现等高布局
      • 两栏自适应布局
        • padding在容器上
        • padding在子元素上

padding

padding与元素的尺寸

给元素添加padding值之后,对应的元素宽高会被撑大,就是padding值添加在元素原有的宽高之上

如果想保证盒子原本的宽高大小,就得减去添加的padding值和border值

在W3C的标准盒模型下,padding一般是给外面的大盒子或者父元素添加的,内填充,添加之后做减法

给图片加padding实现1px像素的边框

对于block块状水平元素

复杂关系
影响元素尺寸
  • 对于block块状水平元素,有padding的时候,padding会影响元素的尺寸

image-20200703232420111

不影响元素尺寸
  • 但是对于width:auto或者box-sizing为border-box的时候,padding不会影响元素尺寸

image-20200703232756265

最小宽度显示
  • width:auto或者box-sizing为border-box,但是padding超过大小宽高的时候,文字则按照最小宽度显示

image-20200703232956028

关系总结

image-20200703233129149

对于inline内联水平元素

复杂关系
水平padding影响尺寸
  • 水平padding影响尺寸,垂直padding不影响尺寸,即只影响左右,不影响上下

image-20200703233706503

垂直padding影响背景色区域
  • 水平padding影响尺寸,垂直padding不影响尺寸,但是会影响背景色区域(并占据空间)

    image-20200703234344138

  • 该特性的,适用场景

    • 高度可控的分隔线

      1. 直接使用字符(管道符,短横),如 注册|登录,但是这样的小短横高度不可控
      2. inline-block控制 ,如 注册|登录
      3. 使用inline-padding实现 注册|登录

      image-20200703235038634

padding负值和百分比值

负值

padding不支持任何形式的负值

百分比值

padding的百分比均是相对于宽度计算的

  • 实现正方形

    image-20200704000215824

  • 移动端app 正方形头图,padding可保证所有屏幕大小下都是正方形

    image-20200704001335823

inline水平元素的padding的百分比值
  1. 同样是相对于宽度计算的

  2. 默认的高度宽度细节有差异,block水平元素的高宽是一样的

  3. padding会断行,padding的背景色也会换行

    image-20200704002010058

空inline元素+padding高宽也不相等

image-20200704002252962

空inline元素+padding+font-size为0,高宽就相等

image-20200704002510156

额外高度产生的原因

inline元素的垂直padding会让"幽灵空白节点"显现,也就是规范中的"struct"出现

幽灵空白节点本质上是内联元素文本的content-area区域,content-area区域只受fon-size大小的影响,可以通过font-size为0,让其看不见

参考解答:https://segmentfault.com/q/1010000014296346

CSS 标签元素的内置padding

ol/ul列表的内置padding-left值
  1. 特例:元素很多内置的一些padding值,或者margin值,尤其是margin值,基本上是以em为单位,也就是说是相对于文字本身大小的,但是ol/li内置的padding-left,单位是以px为大小的,而不是em。使用固定的px padding-left,会有对齐的问题。

  2. 例如Chrome浏览器下默认px

  3. 如果字号很小,间距就会很开

  4. 如果字号很大,序号就会爬到容器外面

    经验:在开发的过程中使用的字体一般是12px14x,此时padding-left为22px25px是最合适的,可基本上实现下面的内容和上面的列表序号左对齐。如果字体较大,padding-left设置大一点,即可对齐

表单元素的内置padding值
  • 所有浏览器的input/textarea输入框内置padding,一般是1px~2px的padding值
  • 所有的button按钮内置padding值
  • 部分浏览器的select下拉内置padding,如果Firefox IE8+可以设置padding
  • 所有浏览器的radio/checkbox单复选框无padding
  • button按钮元素的padding最难控制
button表单按钮padding

image-20200704005802949

image-20200704005538354

image-20200704010105541

原生button

image-20200704010224390

padding与图形绘制

三道杠

border-style:double可以画三道杠,这个也可以。

  • 15px间隙的三道杠

    image-20200704012857816

  • 30px间隙的三道杠

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<meta name="viewport" content="width=device-width, initial-scale=1">
    		<title></title>
    		<style type="text/css">
    		 .box{
    		  width: 150px;height: 30px; /* 规定盒子宽高,达到限制边框生成杠线 */
    		  border-top: 30px solid;/* 上边框 */
    		  border-bottom: 30px solid ; /* 下边框 */
    		  padding: 30px 0;/* 中间撑开两个透明区域 */
    		  background-color:currentColor;/* 当前的标签所继承的文字颜色,也可自定义颜色值 */
    		/* 关于currentColor说明,详去大神网站去看:http://www.zhangxinxu.com/wordpress/2014/10/currentcolor-css3-powerful-css-keyword/ */
    		  background-clip: content-box;
    		/* 这句话是只让背景色在内容区域显示,padding不算内容区了,就不会让padding那上下30px变色,就制作成了三横线! */
    		 }
    
    </style>
    
    	</head>
    	<body>
    		<div class="box"></div>
    	</body>
    </html>
    

白眼效果

image-20200704014122429

padding与布局

移动端1:1头图布局

image-20200704015146154

配合margin,实现等高布局

image-20200704015835366

两栏自适应布局

padding在容器上

image-20200704020334029

padding在子元素上

image-20200704020457466

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1834303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF 深入理解三、控件结构

控件结构 演示&#xff1a; 思考疑问 为什么有一些元素是Content显示内容,而一些元素是Text显示内容? 凡是继承于Contentcontrol的控件,他们的定义内容用Content&#xff0c;除了TextBlock使用的是Text,大部分都是Content设置其显示内容。 为什么有一些元素有Padding,而一些元…

铁砧帝国延迟高?铁砧帝国延迟严重这样解决

铁砧帝国是一款少见的多人在线游戏&#xff0c;游戏能支持上千名玩家建立帝国并互相作战。而且这款游戏在细节方面也做足准备&#xff0c;设计了攻城梯和攻城锤等设备&#xff0c;以攻破坚固的城墙和要塞&#xff0c;不过具体获取方法就需要玩家自己摸索。因为最近开放了测试申…

Vue3基础介绍

文章目录 一、简介1、简介2、性能提升3、源码升级4、拥抱TypeScript5、新特性 二、创建Vue3.0工程1、使用vue-cli创建2、使用vite创建 三、分析工程结构1、main.js2、组件中 一、简介 1、简介 2020年9月18日&#xff0c;Vue.js发布3.0版本&#xff0c;代号(One Piece)海贼王 …

K8sGPT+Ollama:免费的 Kubernetes 自动化诊断方案

周末检查博客草稿&#xff0c;发现了这篇。记得当时是与 Kubernetes 自动化诊断工具&#xff1a;k8sgpt-operator 一起写的&#xff0c;算算过去了一年之久&#xff0c;这拖延症也算是病入膏肓了。原本想使用 K8sGPT LocalAI 的方案&#xff0c;由于之前试过 Ollama&#xff0…

OpenMMlab AI实战营第五、六期培训

OpenMMlab AI实战营第五、六期培训 OpenMMlab实战营第五、六次课2023.2.7-9学习参考第五次课笔记第六次课笔记一、什么是语义分割二、语义分割 v.s. 实例分割 v.s. 全景分割三、语义分割经典模型1.语义分割的基本思路2.**复用卷积计算**3.全连接层的卷积化4.预测图的升采样5.双…

Stable Diffusion 3 Medium 正式开源,用户对此产品评价如何?

前两天 Stability.AI 终于开源了 Stable Diffusion 3&#xff0c;虽然只是中杯的 Medium 版本&#xff0c;没有放出当初宣布的 8B 版本[1]&#xff0c;但也在很多方面取得了进步。本想第一时间尝鲜测试&#xff0c;但这几天出差在外&#xff0c;使用颇不方便。 正好老朋友揽睿…

HTTP/3 协议学习

前一篇&#xff1a; HTTP/2 协议学习-CSDN博客 HTTP/3 协议介绍 HTTP/3 是互联网上用于传输超文本的协议 HTTP 的第三个主要版本。它是 HTTP/2 的后继者&#xff0c;旨在进一步提高网络性能和安全性。HTTP/3 与前两个版本的主要区别在于它使用了一个完全不同的底层传输协议—…

安泰电压放大器的选型原则是什么

电压放大器是电子电路中常用的一种器件&#xff0c;主要用于放大输入电压信号。在选型电压放大器时&#xff0c;需要考虑以下几个原则。 根据应用需求确定放大倍数。放大倍数是指输出电压与输入电压之间的倍数关系&#xff0c;也称为增益。不同的应用场景对放大倍数的要求不同&…

3个火火火的AI项目,开源了!

友友们&#xff0c;今天我要给你们安利三个超酷的开源项目&#xff0c;它们都和AI有关&#xff0c;而且每一个都能让你的日常生活变得更加有趣和便捷&#xff01;(最近AI绘图又又超神了&#xff0c;分享以下美图养眼) 01 字节出品&#xff0c;文字转语音Seed-TTS 字节推出了一…

Ubuntu,Centos,Linux服务器安装Mellanox MCX653105A IB网卡HCA卡驱动

Mellanox 官方驱动下载地址 https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ 选择对应操作系统 官方链接速度比较慢&#xff0c;推荐个友商的下载地址 https://support.xfusion.com/support/#/zh/rack-servers/2288h-v5-pid-21872244/software …

【算法专题--链表】K个一组翻转链表 -- 高频面试题(图文详解,小白一看就懂!!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐双指针 -- 采用哨兵位头节点 &#x1f95d; 什么是哨兵位头节点&#xff1f; &#x1f34d; 案例图解 四、总结与提炼 五、共勉 一、前言 K个一组翻转链表 这道题&#xff0c;可以说是--链表专题--&#xff0c;最经典…

Java内存模型(JMM)详解

文章目录 1、Java内存模型2、JMM的核心概念1&#xff09;主内存与工作内存2&#xff09;内存可见性3&#xff09;JMM的三大特性&#xff1a;原子性、可见性、有序性。 3、JMM中的八种操作4、Happens-before 规则5、样例&#xff1a; 1、Java内存模型 Java内存模型&#xff08;…

电脑文件防泄密软件——天锐绿盾 - 中科数安—— 哪个好

在选择电脑文件防泄密软件时&#xff0c;天锐绿盾和中科数安都是值得考虑的选项。以下是对这两款软件的详细比较&#xff1a; www.drhchina.com PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 功能全面性&#xff1a; 天锐…

QT工作笔记

文章目录 QDialog的accept()和reject()介绍QPushButton提示属性样式表QComboBox QDialog的accept()和reject()介绍 accept() 和reject() 这两个槽函数都会和close() 一样关闭dialogaccept() 关闭后 返回了Dialog::Acceptedreject() 关闭后 返回了Dialog::Rejected这样当我们需…

SpringBoot修改banner

在resources目录下创建banner.txt文件 到该网站下选择banner https://www.bootschool.net/ascii-art 点击拷贝&#xff1a; 粘贴到banner.txt中&#xff0c;保存 重新运行项目即可&#xff1a;

ES升级--03-- IK分词器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 IK分词器1. IK分词器 下载https://github.com/infinilabs/analysis-ik/releases 2. 创建文件夹 analysis-ik3.把zip包放至该目录下 解压4. 删除zip包5、重启Elastic…

阿赵UE引擎C++编程学习笔记——C++自定义蓝图函数

大家好&#xff0c;我是阿赵。   使用UE引擎&#xff0c;大部分功能都可以使用蓝图的自带节点去完成。但有时候我们也需要扩展一些蓝图没有的功能。这一篇主要学习一下怎样用C给蓝图新增自定义的函数节点。 一、 新建蓝图函数库 在添加C类的时候&#xff0c;选择蓝图函数库&…

大数据的力量:推动战略决策和业务转型

在当前全球化的时代背景下&#xff0c;国际间的联系日益紧密&#xff0c;世界变得更加互联互通。面对各种危机&#xff0c;数据驱动决策和分析显得愈发重要。从医学研究到市场趋势分析&#xff0c;大数据技术在各个领域发挥着关键作用&#xff0c;推动着一场深刻的变革浪潮。 大…

初识数据库及Mysql安装管理

初识数据库及Mysql安装管理 了解数据库数据库的概念数据库的分类关系型数据库&#xff08;SQL&#xff09;非关系型的数据库&#xff08;NoSQL&#xff09; SQL语句SQL语言分类&#xff1a; MySQL中6种常见的约束&#xff1a; Mysql安装&#xff08;CentOS7&#xff09;源码编译…

mybatis中resultMap和resultType的区别

总结 基本映射 &#xff1a;&#xff08;resultType&#xff09;使用resultType进行输出映射&#xff0c;只有查询出来的列名和pojo中的属性名一致&#xff0c;该列才可以映射成功。&#xff08;数据库&#xff0c;实体&#xff0c;查询字段,这些全部都得一一对应&#xff09;…