【HTML笔记】--- 内联元素间距问题及解决方案
一、内联元素间距问题
在HTML实践中我们会发现,有时候内联元素之间会存在一定的间距,并且这间距和margin和padding无关。这是由编辑时的空白字符引起的,并且间距的大小受父元素的font-size影响。
这和CSS的white-space属性有关,该属性的默认值为normal,normal属性是将多个空白字符合并成一个“空白”,这个空白和父元素的font-size有关。所以当内联元素之间存在空白字符时,它们之间就存在一个“空白”间距。
<img>图像元素也属于内联元素,所以处理图像元素间的“空白”也可使用下列解决方案。
二、解决方案
1.在编辑器中清除空白字符
简单粗暴的方法
处理前:-------------------------------------- 处理后:
<body>
<span style="font-size: 25px; background-color: #CCFF66;">today</span><span style="font-size: 25px; background-color: #CCCCFF;">tomorrow</span>
</body>
2.设置父元素font-size: 0;
当父元素的font-size为0时,该“空白”也为0。应当注意的是内联元素会继承父元素的font-size,所以要单独给内联元素设置font-size,否则font-size为0单词将不会显示。
<body style="font-size: 0px;">
<span style="font-size: 25px; background-color: #CCFF66;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF;">tomorrow</span>
</body>
3.设置浮动属性float
浮动之后会脱离标准流,不受“空白”的影响。
<body>
<span style="font-size: 25px; background-color: #CCFF66; float: left;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF; float: left;">tomorrow</span>
</body>
注意两个<span>标签同时设置float属性,若只设置第二个<span>则会如下图显示:

若不懂,请看这:【CSS学习】--- float浮动属性
4.设置margin属性值为负数
负数的值要根据父元素的font-size大小确定
<body>
<span style="font-size: 25px; background-color: #CCFF66;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF; margin-left: -5px;">tomorrow</span>
</body>
5.设置word-spacing属性值为负数
和margin一样,负值要根据父元素的font-size大小确定
<body style="word-spacing: -5px;">
<span style="font-size: 25px; background-color: #CCFF66;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF;">tomorrow</span>
</body>
6.设置属性display: block;
块级元素之间不存在这样的空白,所以可以使用使用display: block; 将内联元素设置为块级元素。
处理前:可以看到上下两张图片之间存在“空白”
----------------------------------------------------
处理后:
<body style="width: 130px;">
<img src="F:\images\zhaoliying\1_1_1.jpg" width="120px" style="display: block;">
<img src="F:\images\zhaoliying\1_1_1.jpg" width="120px">
</body>
三、最后
若有不足,还望留言指出,十分感谢!
【HTML笔记】--- 内联元素间距问题及解决方案的更多相关文章
- css 块元素、内联元素、内联块元素
块元素.内联元素.内联块元素: 元素就是标签,布局中常用的有三种标签,块元素.内联元素.内联块元素,了解这三种元素的特性,才能熟练的进行页面布局. 块元素: 块元素,也可以称为行元素,布局中常用的标签 ...
- 如何去除内联元素(inline-block元素)之间的间距(转载)
如何去除内联元素(inline-block元素)之间的间距 前几天写一个专题页 div{width:900px;}div a{ display:inline-block; width:300px; ...
- Code笔记之:CSS块级元素、内联元素概念
文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端. 若当前行容不下, 则另起新行再浮动. 内联元素也不 ...
- css 内联元素inline 行框全解
首先看一篇文章: CSS框模型:一切皆为框 — 从行框说起 一 行框 看图说话 上图代表了框模型中的行框.line-height 属性设置行间的距离(行高).该属性会影响行框的布局.在应用到一个块级元 ...
- HTML元素分类:块级元素 内联元素和内联块状元素
在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 1,块状元素 常用的块状元素有: <div>.<p>.<h1 ...
- 【css】主要的块状元素(block element)和内联元素(inline element行内元素)
内联元素:只在行内发生作用,设置宽高不起作用,不会影响文字内容,使其换行等.竖直方向和间距也不起作用 display可以强制转换行内元素和块状元素,还可以取消显示none 块元素(bloc ...
- CSS基础:内联元素
简介 内联元素由于涉及到文本字体,读写方向,汉字和字母差异等诸多方面的影响,因此其盒模型比块级元素更加复杂,对于内联非替换元素,比如一行文本,主要由以下几种框构成: "em 框", ...
- html中内联元素和块元素的区别、用法以及联系
昨天用asp.net的BulletedList做一个导航栏,最终该控件形成的html代码是ul列表和a超链接,具体代码如下: <ul id="BulletedList1" s ...
- 内联元素inline-block空隙问题
1.产生的原因 当我们使用"display:inline-block"把块集元素转换为内联元素时,每两个内联元素之间有一定的空隙,既不是margin也不是padding,最终发现是 ...
随机推荐
- Django Admin 专题
Django admin Django强大的功能之一就是提供了Admin后台管理界面,简单配置就可以对数据库内容做管理 创建ModelAdmin并注册 from django.contrib impo ...
- 项目中使用同一dll的不同版本
在一个项目中,因为使用了一些插件,这些插件使用了不同版本的log4net,有1.2版本,有2.0版本的.当运行的时候发生冲突. 解决办法:在config中加入如下的配置 <dependentAs ...
- 面试时遇到的题目。正则,replace()
function Fn(str){ this.str = str; } Fn.prototype.format = function(){ var arg = arguments; var dd = ...
- a标签嵌套a标签在实际项目开发中遇到的坑
大家都知道HTML的嵌套规范,其中一个规范是块元素嵌套行内元素,块元素嵌套块元素,行内元素嵌套行内元素,行内元素不能嵌套块元素. 其中需要注意的是行内元素嵌套行内元素,a标签虽然是行内元素,但是a标签 ...
- debian安装tftp服务
步骤1:安装 apt-get install tftp-hpa tftpd-hpa tftp-hpa是client,tftpd-hpaserver 步骤2:建立tftp目录 mkdir /tftpbo ...
- C# TableLayoutPanel使用方法
一.利用TableLayoutPanel类展示表格,以10行5列为例 第1步:在前台创建一个panel,使TableLayoutPanel对象填充其内部. 第2步:创建TableLayoutPanel ...
- Jenkins系列之二——centos 6.9 + JenKins 安装
centos 6.9 + JenKins 安装记录环境: [root@localhost ~]# cat /etc/issue CentOS release 6.9 (Final) Kernel \r ...
- Atom相关资料整理
官网地址 https://atom.io/ Atom 中文社区 https://atom-china.org/ 常用插件 Emmet 这款插件是用来支持zend-coding,Emmet的前身是大名鼎 ...
- 如何才能够系统地学习Java并发技术?
微信公众号[Java技术江湖]一位阿里Java工程师的技术小站 Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容. 这里不仅仅是指使用简单的多线程编程,或者使用juc的某个类.当然这些 ...
- Spring Security使用报错 No bean named 'springSecurityFilterChain' is defined
今天配置spring security时,运行报出No bean named 'springSecurityFilterChain' is defined错误,报错信息如下 严重: Exception ...
--------------------------------------
处理后:

