css属性padding

001
Padding对行内元素的影响,在水平方向影响尺寸,在垂直方向不影响尺寸,但是会影响背景,设置padding过大会让文字换行
对于block元素
Padding暴走,一定影像元素尺寸
Width非auto, 一定影像元素尺寸
Width为auto或者box-sizing为border-box,同时padding没有暴走,不影响width,height尺寸
002
块元素padding设置百分之五十能够使容器变成正方形。
padding不支持任何形式的负值,百分比值相对于宽度进行计算
内联空元素,上下边距,(content area font-size:0;),宽高不等,
003
标签元素的内置padding
1、ol/ul列表
i.ol/ul元素内置padding-left,但是单位是px而不是em;
ii.所以如果字号很小/很大,间距就会很开
(平时开发font-size:是12/14,padding-left:22/25px相对合适)
2、所有浏览器input/textarea输入框内置padding
3、所有浏览器botton按钮内置padding
4、所有浏览器radio/checkbox单复选框无内置padding
5、button按钮元素的padding最难控制!

在不同浏览器上使用不同的padding
i.chrome浏览器 padding:0;即可以
ii.FireFox浏览器设置padding:0 左右依然有padding!
可以设置 button:-moz-focus-inner{padding:0;}
iii.IE浏览器下 按钮文字越多,左右padding逐渐变大
button{overflow:visible;}

padding与高度计算的不兼容
button{
line-height:20px;
padding:10px;
border:none;}
!!!更好的是利用<label>标签模拟按钮,但是有时需要button提交,所以,利用<button>的可用性并可访问性隐藏
<button id="btn"></button>
<label for="btn">按钮</label>

label{
display:inline-block;
line-height:20px;
padding:1px;
}

btn{ z-inde:-1;//藏在背景色之下 }

或者#btn{ absolute:-999em;//藏在屏幕之外}
004

583462e50001a85912800720.jpg
58726ea700014fe507200404.jpg

005
padding与布局
1、使用百分比单位构建固定比例布局结构
2、配合margin实现等高布局
3、实现两栏自适应布局
padding在容器上
<div class="pbox">
<img src="abc.jpg>本例子实现的是,图片宽度固定,然后后面的文字自适应的效果。原理如下:容器有个固定的padding-lfet值,此时图文应该在120px处显示,但是,由于图片margin负值浮动(或者绝对定位)到容器左上角,因此,文字...
</div>
.pbox{ padding-left:120px;//图文距离容器边缘120px处显示
}
.pbox img{
float:left;//让文字浮动,所以不占据空间;
margin-left:-120px;//图片与文字之间的距离
}
padding在子元素上
<div>
<img src="abc.jpg">
<div class="auto">本例子实现的是,图片宽度固定,然后后面文字信息自适应的效果。原理如下:两栏元素均有自己的标签,其中文字栏有个固定的padding-left值,此时文字应该在距离容器120像素处显示,但是,由于图片浮动,不在流中,所以文字。。。</div>
</div>

img{ float:left;//破坏了容器
}
.auto{ padding-left:120px;//设置padding值,使其距离容器边缘120px显示;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,862评论 1 92
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,674评论 32 459
  • Bootstrap是什么? 一套易用、优雅、灵活、可扩展的前端工具集--BootStrap。GitHub上介绍 的...
    凛0_0阅读 10,996评论 3 184
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,354评论 0 5
  • 常见试题 行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-h...
    他大舅啊阅读 2,524评论 1 5