margin和padding对行内元素的影响
这个是在面试的时候,面试官问我的一个小问题 自己没有考虑过inline元素设置margin和padding的问题 学习的过程记录下来
1)inline元素的高度是由元素的内容决定的(字体的大小和行高) 比如你对一个a标签设置它的高度是没有效果的
2)HTML元素分为替换元素和非替换元素 替换元素指的是作为其他的元素占位符的一个元素 例如img 非替换元素指内容包含在文档中的元素 <p>hahaha</p>这个p就是一个非替换元素 区分替换与非替换的方法:替换元素浏览器会根据标签和属性去决定元素的显示 非替换元素是直接将内容显示
进入主题 margin和padding对inline元素的影响 这里我们就要考虑替换元素与非替换元素的区别了
1)margin对inline元素的影响
<p>
<img src="#" id="a" alt="我是一个替换元素" />
</p>
<p>
<span>我是行内非替换元素</span>
</p>
我们对上面的元素设置样式
p {
background: red;
width:400px;
}
p img {
width:100px;
height:100px;
background: blue;
}
p img#a {
margin:20px;
}
p span {
margin-top:20px;
margin-left: 20px;
margin-right: 20px;
}
对上面的inline元素img设置了margin 发现四个方向的margin都有了效果

而inline元素span呢 发现只有水平方向的margin产生了效果 垂直方向的没有产生效果

原因在于对行内非替换元素设置margin不会影响行高 margin本身就是透明的 所以margin-top margin-bottom并没有视觉的效果

2)padding对inline元素的影响
同样是考虑对行高的影响 当对一个行内非替换设置padding的时候 padding-top padding-bottom 并不会影响行高所以没有视觉效果

当对行内替换元素设置padding的时候,会发现产生了效果

总结上面的 也就是当我们考虑margin padding对一个inline元素是否会产生视觉效果的时候,要区分对待(行高问题) 替换元素都会产生视觉效果 非替换元素垂直方向不会产生视觉效果 当然你为了让margin 和padding对inline元素产生效果 可以将他们设置成inline-block 这样就会有效果

margin和padding对行内元素的影响的更多相关文章
- CSS学习笔记——盒模型,块级元素和行内元素的区别和特性
今天本来打算根据自己的计划进行前端自动化的学习的,无奈早上接到一个任务需求需要新增一个页面.自从因为工作需要转前端之后,自己的主要注意力几 乎都放在JavaScript上面了,对CSS和HTML这方面 ...
- HTML的行内元素与块级元素的区别?
块级元素:独占一行,其宽度自动填满父元素的宽度,可以容纳行内元素和其他块级元素,可以设置margin和padding值. 行内元素:不会独占一行,与其他行内元素排成一行,直到其父元素拍不下,才会从新一 ...
- 块级元素和行内元素的区别 (block vs. inline)
块级元素 (display: block) 独占一行,多个block元素会各自新起一行.默认情况下,block元素的宽度会填满父元素的宽度. 可以设置width, height属性.但是,即使设置了w ...
- 块元素&行内元素
大多数HTML 元素被定义为块级元素或内联元素.块级元素在浏览器显示时,通常会以新行来开始(和结束) block元素特点 1 总是在新行上开始: 2 高度,行高以及外边距和内边距都可控制: 3 宽度缺 ...
- HTML块级元素与行内元素的区别
块级元素:块级大多为结构性标记 <address>...</adderss> <center>...</center> 地址文字 <h1>. ...
- 关于行内元素的margin padding一些说明;background-color的范围
①当对行内元素使用padding时,只有左右方向(正常)有效:竖直方向上,内边距对于该行内元素有效果,但是对其他元素无任何影响. ②当对行内元素使用margin时,只有左右方向有效,竖直方向无任何效果 ...
- {03--CSS布局设置} 盒模型 二 padding bode margin 标准文档流 块级元素和行内元素 浮动 margin的用法 文本属性和字体属性 超链接导航栏 background 定位 z-index
03--CSS布局设置 本节目录 一 盒模型 二 padding(内边距) 三 boder(边框) 四 简单认识一下margin(外边距) 五 标准文档流 六 块级元素和行内元素 七 浮动 八 mar ...
- padding(内边框), border(边框), margin, 标准文档流, 块级元素和行内元素, 浮动 ,margin的用法
盒模型 在CSS中,"box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型. 盒模型有两种:标准模型和IE模型 ...
- css 行内元素 块元素 替换元素 非替换元素 以及这些元素的width height margin padding 特性
一.各种元素的width height margin padding 特性(具体css元素的分来参看二) 1.块级元素 width. height. margin的四个方向. padding的四个方向 ...
随机推荐
- SZ,RZ传送文件
linux 和window之间通过xshell的命令 SZ,RZ传送文件:
- Microsoft 2013 新技术学习笔记 三
什么是代码结构的组织?asp.net MVC 5 默认创建出的几个目录的标准含义分别如下: Controllers目录存放MVC模式中的Controler Models目录存放MVC模式中的Model ...
- 【学】常用hash算法的介绍
基本知识 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映 ...
- lxde桌面默认快捷键
ctrl+alt+左右 选择左右桌面shift+alt+左右 当前窗口送至左右桌面房子键+F1~F4 切换桌面1-4房子键+d 显示桌面alt+esc ...
- <转载> 优秀程序员必备的23条好习惯
转自 优秀程序员必备的23条好习惯 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究 ...
- centos6.5 尝试下用 yum 安装 oddo
我们要安装PostgreSQL,因为OpenERP使用PostgreSQL作为它的数据库.要安装它,我们需要运行下面的命令. yum install postgresql postgresql-ser ...
- datagrid 动态列
var options={}; $(function(){ var myNj = 9; //初始化 $("#disgrid").datagrid({ type: 'POST', n ...
- Legolas工业自动化平台案例 —— 水源地自动化监控系统
天津港爆炸事件后,除了安置群众.追究事故责任外,人们最关心的莫过于爆炸污染物对于周边环境的影响,其中最重要的一块就是饮用水的安全.所幸的是,水源的安全监测是实实在在有据可依的.环保单位和供水企业在建设 ...
- SNF开发平台WinForm之九-代码生成器使用说明-SNF快速开发平台3.3-Spring.Net.Framework
下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 ...
- extractCSS – 帮助你从 HTML 中快速分离出 CSS
extractCSS 是一个免费的基于 Web 的应用程序,能够从 HTML 中提取风格相关的信息,包括 id.class 和内联样式,而且输出可以定制(缩进和括号的用法).该工具非常有用,当我们快速 ...