前端小知识点---html换行被解析为空格的相关知识
这个系列主要记录一下常被忽略但又经常产生影响的知识点,纯做个记录,方便查询
html换行被解析为空格也是常说的3像素空隙的问题,根据测试不同浏览器产生的空隙大小会不一样,Chrome,Firefox,IE8+都存在这样的问题,这个问题的原因相比大家都知道,浏览器把换行解析成了“空白节点”,就是javascript中nodeType等于3的节点,IE6,7是忽略这个节点的。
span{ border:1px solid red; padding: .5em 1em; }
<span>1</span>
<span>2</span>
<span>3</span>
解决办法有多个:
1、不换行,直接把代码写在一样。
<span>1</span><span>2</span><span>3</span>
缺点:不利于文档格式化,对开发者不友好
2、设置margin-left为负值
span{ border:1px solid red; padding: .5em 1em; margin-left:-3px; }
缺点:不同浏览器间隙不同,需要设置多次
3、设置父元素字体大小为0
div{ font-size:0px;}
span{ border:1px solid red; padding: .5em 1em; font-size:12px; }
<div>
<span>1</span>
<span>2</span>
<span>3</span>
</div>
这是目前最通用的做法
规避办法:
表格大家都很熟悉,上述代码渲染的结果和表格是不是很像!!大家在使用表格的时候是不是从来没出现过这种缝隙,因此规避办法很简单,用table代替,如何处理呢,来看看代码
div{ display:inline-table}
span{ border:1px solid red; padding: .5em 1em; font-size:12px; display:table-cell }
<div>
<span>1</span>
<span>2</span>
<span>3</span>
</div>

这种写法完全不需要考虑这3像素空隙的问题,当然这种做法没有考虑兼容性,毕竟inline-table IE-不支持
前端小知识点---html换行被解析为空格的相关知识的更多相关文章
- web小知识点
写在前面: 该篇是个人平时对web前端小知识点的总结,会不定时更新...... 如有错误,敬请批评指正. 正文: 1.WWW是World Wide Web的缩写. 2.HTML(Hyper Text ...
- 【转】HTML5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...
- js中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...
- html5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...
- python中的小知识点
这里是一些小知识点的汇集,为的是以后查找的方便. 行与缩进: 物理行:实际看到的代码行数. 逻辑行:在意义上的函数(即解释器执行的行数) 如果一个物理行中包含了多个逻辑行,则每个逻辑行之间需要用分号 ...
- javascript中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻 [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" va ...
- Python之路番外(第二篇):PYTHON基本数据类型和小知识点
一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and \ (car == "moving") ...
- React之小知识点总结
总结react中常常被忽略的小知识点 1)即使state里设置成和之前的值一样,render也会重新渲染 2)父组件传给子组件的属性(props是只读的,在子组件中已在this.state里将属性赋值 ...
- Python之路番外:PYTHON基本数据类型和小知识点
Python之路番外:PYTHON基本数据类型和小知识点 一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and ...
随机推荐
- Java进击C#——开发环境
在进入本章之前.笔者想说一些话.对于笔者来讲语言没有好坏之分.只有适不适用之别.当上一篇发到首页的时候,我突然发现有可能会引发争论.这是笔者担心的,这也是笔者不想看到的. 笔者想写这一系列的原因不是为 ...
- UEditor百度富文本编辑器--preview在线预览时头部被挡住的解决方案
问题截图: 正常情况应该是如下显示: 解决方案: 1.打开ueditor/dialogs/preview/preview.html 2.找到body节点下面这一句 document.getElemen ...
- git 出错误“值对于Uint32太大或太小”
提交git代码的时候报的错误 这是因为修改的东西太少的原因,应该多修改一些就可以提交了 例如:只是删除了一个空格或者一个字符就提交git代码的话就会提示这个错误 解决方法:多多的改变一下代码,比如增加 ...
- JavaWeb_day03_员工信息添加修改删除
day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...
- PHP中this,self,parent三个关键字
this,self,parent三个关键字从字面上比较好理解,分别是指这.自己.父亲. this是指向当前对象的指针(姑且用C里面的指针来看吧)self是指向当前类的指针parent是指向父类的指针( ...
- MongoDB基础命令笔记
一.创建数据库 use foobar 二.创建集合 db.persons.insert({name:"zhaomin",age:23}) 三.查找 db.persons.find( ...
- Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结
Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结 1. 什么是可扩展的应用程序?1 2. 松耦合(ioc)2 3. 接口的思考 2 4. 单一用途&模块化,小粒度化2 ...
- BPM实例分享——日期自动计算
日期自动计算 在请假流程中通常我们需要获得请假开始到请假结束时间的天数,那么请假天数(可结合工作日历)是怎么实现系统计算呢?下面我们来看下配置的方法. 1. 首选建立业务服务BPMService, ...
- 一些Titanium学习的地方
利用titanium兑现外汇兑换计算的ios代码 http://rensanning.iteye.com/blog/1325011 Titanium兑现相关的报表功能 http://www.s ...
- 简单好记的Jdk 环境变量配置