<!-- 《CSS世界》张鑫旭著 -->

温和的padding属性

因为默认的box-sizing是content-box,所以使用padding会增加元素的尺寸。

尺寸表现对具有块状特性的元素和内联元素而言有些许不同。

很多人会觉得内联元素的padding只会影响水平方向,不会影响垂直方向。这种认知是不准确的,内联元素的padding在垂直方向同样会影响布局,影响视觉表现。只是因为内联元素没有可视宽度和可视高度的说法,视觉上没有改变和上一行下一行内容的间距,因为给我们的感觉是垂直padding没有起作用。

如果我们给内联元素加个背景色或者边框,自然可以看到其尺寸空间确实受padding影响了。

示例见 http://demo.cssworld.cn/4/2-1.php  可以看到尺寸有效,但是对上下元素的原本布局没有影响,仅仅是垂直方向发生了重叠。

CSS中还有很多其他场景或属性会出现这种不影响其他元素布局而是出现层叠效果的现象。比如:relative元素的定位、盒阴影box-shadow以及outline等。这些层叠现象虽然看似类似,但实际上是有区别的。分为两类:一类是纯视觉层叠,不影响外部尺寸;另一类则会影响外部尺寸。盒阴影box-shadow以及outline属于前者,而这里的inline元素的padding层叠属于后者。因为父元素设置overflow: auto,会出现滚动条。

示例 http://demo.cssworld.cn/4/2-2.php  实现了利用内联元素的padding实现高度可控的分割线。

padding的百分比值

padding的百分比值无论是水平方向还是垂直方向均是相对于宽度计算的

标签元素内置的padding

(1)ol/ul列表内置padding-left,但是是px。Chrome浏览器下是40px

(2)很多表单元素都内置padding,例如:input、textarea、button等

<button>按钮元素就算我们重置padding为0,在Firefox浏览器下,左右依然有padding,可以试试使用:button::-moz-focus-inner { padding: 0; }

按钮padding与高度计算不同浏览器下千差万别

padding 与图形绘制

(1)不使用伪元素,仅一层标签实现“三道杠”分类图标效果。这里主要是background-clip属性的用法

(2)不使用伪元素,仅一层标签实现双层圆点效果。和上面例子的原理一样。

示例见 http://demo.cssworld.cn/4/2-4.php

《CSS世界》读书笔记(十)的更多相关文章

  1. CSS揭秘读书笔记 (一)

    CSS揭秘读书笔记      (一) 一.半透明边框 要想实现半透明边框可以使用border: border: 10px  solid  hsla(0,0%,100%,.5); background: ...

  2. 《CSS世界》笔记二:盒模型四大家族

    上一篇:<CSS世界>笔记一:流/元素/尺寸下一篇:<CSS世界>笔记三:内联元素与对齐 写在前面 在读<CSS世界>第四章之前,粗浅的认为盒模型无非是margin ...

  3. 《精通CSS》读书笔记(一)

    最近新添16本书,目前开始看陈剑瓯翻译的<精通CSS——高级Web标准解决方案>(Andy Budd, CSS Mastery -- Advanced Web Standards Solu ...

  4. 《css世界》笔记之流、元素与基本尺寸

    1. 块级元素 基本特性:就是一个水平流上只能单独显示一个元素,多个块级元素则换行显示. 块级元素和"display 为block 的元素"不是一个概念,display:list- ...

  5. css 揭秘-读书笔记

    css 揭秘 [希]Lea verou 著 css 魔法 译 该书涵盖7大主题,47个css技巧,是css进阶必备书籍,开阔思路,探寻更优雅的解决方案.这本书完全用css渲染出的html写成的(布局. ...

  6. JavaScript权威设计--CSS(简要学习笔记十六)

    1.Document的一些特殊属性 document.lastModified document.URL document.title document.referrer document.domai ...

  7. JavaScript权威设计--JavaScript脚本化文档Document与CSS(简要学习笔记十五)

    1.Document与Element和TEXT是Node的子类. Document:树形的根部节点 Element:HTML元素的节点 TEXT:文本节点   >>HtmlElement与 ...

  8. 《Two Days DIV + CSS》读书笔记——CSS选择器

    1.1.2 CSS选择器 CSS 选择器最基本的有四种:标签选择器.ID 选择器.类选择器.通用选择器. [标签选择器] 一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签 ...

  9. 《Two Days DIV + CSS》读书笔记——CSS控制页面方式

    1.1 你必须知道的知识 (其中包括1.1.1 DIV + CSS的叫法解释:1.1.2 DIV + CSS 名字的误区:以及1.1.3 W3C简介.由于只是背景知识,跳过该章.) 1.2 你必须掌握 ...

  10. CSS Grid 读书笔记

    基本概念 MDN上的解释是这样的 CSS Grid Layout excels at dividing a page into major regions or defining the relati ...

随机推荐

  1. 【QT】QT更改构建目录

    菜单“工具”-“选项”. Qt Creator怎样更改默认构建目录_百度经验 https://jingyan.baidu.com/article/6181c3e0b9d170152ef153af.ht ...

  2. Linux下的awk文本分析命令实例(二)

    awk实现求和.平均.最大值和最小值的计算操作 准备和数据文件 [finance@master2-dev ~]$ cat data.txt 求和 [finance@master2-dev ~]$ ca ...

  3. M - COURSES

    Consider a group of N students and P courses. Each student visits zero, one or more than one courses ...

  4. 我永远无法学会的dp

    起源:在codeforceround518之后我发现别人都会div1A我根本写不出来,所以我决定退役 咕咕咕咕

  5. webpack应用案例之美团app

    记录自己的创建步骤,且对自己的错误进行纠正分析.

  6. phjp(ajax)作用知识点

    1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...

  7. 细说一下position(定位),以及其他的小知识

    细说:position      位置 1.只要使用定位,必须要有一个相对的参照物.relative 2.具体定位的那个1元素需要加position:absolute:绝对的 绝对的:就是具体到某一个 ...

  8. Linux命令 sed

    一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d'  # 删除第2~5行 $ nl passwd | sed '2d'  # 删除第2行 $ nl passwd | ...

  9. WPF ComboBox SelectionChanged事件里赋值Text的解决方法

    string sCountry ; private void cbCountry_SelectionChanged(object sender, SelectionChangedEventArgs e ...

  10. 构建一个可以统计 qps 的nginx服务的Dockerfile

    github 项目地址: https://github.com/SilentCC/nginx_lua_qps_count nginx 是经常会用到的web 服务器,它有出色的并发性能,因此尝尝被用来当 ...