img和div的宽度不一样问题和li之间空隙问题的解决方案
img和div宽度不一致问题
今天写代码,遇到一个小问题,我把一张图片放进一个div里,然后没有设置任何的padding和margin,但是发现图片和div的高度不一样,在img的下方出现了3px的空隙。
//html代码
<div><img src="img/test.jpg"></div>
//css代码
div{
display: inline-block;
background-color: red;
}
img{
width: 400px;
}
效果如图:很明显能看到图片下面红色背景突出的地方。
审查元素,发现div的高度比img的高度多3px。
通过百度之后了解到产生这个问题的原因:img是一种类似text的元素,在结束的时候,会在末尾加上一个空白符,所以就会多出3px。
而解决这个问题的方法也很简单,把img标签的display属性设置为block就好了。
//css代码
img{
width: 400px;
display:block;
}
效果如图:
li间空隙问题
今天遇到的问题让我想到之前还遇到过的一个问题,当我想让ul的li横向排列时,把li的display的属性设置为inline-block,然后就发现,li之间不能紧挨着,有额外的空隙,通过设置padding和margin为0都不能消除这个间隙。
//html代码
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</div>
//css代码
div{
display: inline-block;
background-color: #000;
}
ul{
padding: 0;
margin: 0;
}
li{
display: inline-block;
list-style-type: none;
width: 40px;
height: 30px;
background-color: red;
color: #fff;
}
效果图如下:可以清晰看到li之间黑色背景的间隙。
我把margin-right设置为负值-8px之后,间隙才没有了,如下:
通过百度之后,了解到产生这个问题的原因是:浏览器会把inline元素间的空白字符(空格、换行、Tab等)渲染成一个空格。而为了美观。我们通常是一个
解决方法也很多:
- 上面把margin设一个负值就是一种消除间隙的方法。
- 给li标签设置浮动。
- 将font-size设置为0,或者将letter-spacing设置为-8px,这种方法会导致其他字符的样式也会受到影响。
- 还有一种在html代码上做修改,不用修改css的方法。加上注释,消除因换行带来的空白字符。如下:
<div>
<ul>
<li>1</li><!--
--><li>2</li><!--
--><li>3</li><!--
--><li>4</li><!--
--><li>5</li><!--
--><li>6</li>
</ul>
</div>```
img和div的宽度不一样问题和li之间空隙问题的解决方案的更多相关文章
- 关于Div的宽度与高度的100%设定
http://www.cnblogs.com/clare-zhang/archive/2011/08/26/2154220.html 正像你所知道的那样,设置DIV大小的有两个属性width和heig ...
- 如何设置div的宽度为100%-xx px?
如何设置div的宽度为100%-xx px? 参见如下帖子:http://stackoverflow.com/questions/15183069/div-width-100-10px-relativ ...
- Div的宽度与高度的100%设定
div的100%是从其上一级div的宽高继承来的,所以必须设置其上一级div的宽度或高度,否则无效. 举例说明:父div(deman)宽300高200,子div(cc)如果在这个条件下设置divcc的 ...
- CSS如何让DIV的宽度随内容的变化
[css]CSS如何让DIV的宽度随内容的变化 让div根据内容改变大小 div{ width:auto; display:inline-block !important; display:inlin ...
- div 内容宽度自适应、超出后换行
div 内容宽度自适应,超出后换行 { max-width:100%;width: fit-content;width: -webkit-fit-content;width: -moz-fit-con ...
- div 自适应宽度
div 自适应宽度 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- div自适应宽度
对于div自适应宽度,网上的说法基本上都是将要自适应宽度的div放在其它固定宽度的最后,不指定其float属性或将float属性指定为none,比如三栏布局居中的一栏为自适应宽度,就可以这样来定义三栏 ...
- 关于ie6中绝对定位或浮动的div中既有向左float也有向右float时候如何让外层div自适应宽度的解决方案--
一个详细的说明请见: http://www.cnblogs.com/yiyang/p/3265006.html 我的问题大约为,如下代码: <!DOCTYPE html PUBLIC " ...
- 用伪类实现一个div的宽度和高度是固定百分比
遇到一个题目:一个div宽度是固定百分比的情况下,如何设置高度是宽度的80% 看到题目的第一反应是用js控制,获取到div的宽度之后再用宽度的80%来设置div的高度,但是如何在不用js的情况下,只用 ...
随机推荐
- drf05 路由Routers
对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息. REST framework提供了两个router ...
- Django 模型层(标签、过滤器、模板的继承与导入)
过滤器/自定义过滤器 模板语法中的过滤器类似于python中的内置方法,在我们把数据从后端通过rander传入到前端html文件中之后,在前端我们可以通过模板语法,对传入的数据再进行以通骚操作. 首先 ...
- eas之创建一个UI界面并对其操作
private void BranchAddNew(ActionEvent e) { UIContext uiContext = new UIContext(this); ui ...
- 第1章 面向对象的JavaScript
针对基础知识的每一个小点,我都写了一些小例子,https://github.com/huyanluanyu1989/DesignPatterns.git,便于大家理解,如有疑问,大家可留言给我,最近工 ...
- Flask中的session操作
一.配置SECRET_KEY 因为flask的session是通过加密之后放到了cookie中.所以有加密就有密钥用于解密,所以,只要用到了flask的session模块就一定要配置“SECRET_K ...
- java IO(BIO)、NIO、AIO
IO 服务端ServerSocket 客户端Socket 缺点每次客户端建立连接都会另外启一个线程处理.读取和发送数据都是阻塞式的. 如果1000个客户端建立连接将会产生1000个线程 Server端 ...
- 转载 - KMP算法祥解
出处:http://www.cppblog.com/oosky/archive/2006/07/06/9486.html KMP字符串模式匹配详解 来自CSDN A_B_C_ABC 网友 KM ...
- ZEAL--可以查看所有软件API的软件
windows平台上最强大的可以查看所有API的软件,从此再也不用去各个网站上扒了,而且有时还有Greate Wall 点我下载
- POJ 3207
还是那句话,做2SAT题时,找出矛盾点基本上可解了.这道题也是这样 题意是说给出一个圆上的 n 个点(0~n-1编号),然后在指定的 m 对点之间各连一条线(可以在圆内,也可以在圆外,可以是曲线,这点 ...
- UVA 11383 - Golden Tiger Claw(二分图完美匹配扩展)
UVA 11383 - Golden Tiger Claw 题目链接 题意:给定每列和每行的和,给定一个矩阵,要求每一个格子(x, y)的值小于row(i) + col(j),求一种方案,而且全部行列 ...