img下面出现了蜜汁空白
这段时间一直在做老师不值得的手机端的网页,在给元素设置宽度的时候都是使用百分比的形式,后来知道,这就是流体布局。不过这些都是后话,下面说的是在做静态手机站的时候遇到的一个问题。
因为使用了流体布局,几乎都是最外面的盒子设置为width:100%然后,内部的盒子根据需要,占据最外层盒子的10%~90%不等,最常用的还是设为50%,当将多层的宽度设置好之后,最内层的盒子填充span,img等标签,写进去文字,或者放置图片,于是最内层的盒子会根据图片的宽度占据盒子的大小,高度等比缩放,因而通过img的高度获得了最内层盒子的高度,然后一级一级向上,最后整个最外层的盒子被内层的元素的高度给撑了起来。
就在这时发现了一个奇怪的现象:如下图
讲道理,盛放图片的盒子的height是由它里面盛放的元素的height决定的,途中是在一个div中放了一张img,所以div的高度,应该是由img的高度决定,但是,在几乎每个盛放img的盒子的高度,都会比img本身高度高处一小块空间,这使得在用手机浏览网页的时候产生非常违和不美观的效果。可是又突然发现,在盛放多个banner图片的盒子中,没有出现上述的情况,研究了半天,发现盛放多个banner图的盒子比其他盛放单张图片的盒子中多了个:
font-size:0;
那么我为何要在盛放多个banner图的盒子上添加font-size:0呢。
这是因为,在写代码的时候,多个img标签之间有换行符,但是浏览器会将这些换行符解析为一个空白字符,于是banner图与图之间产生了一小段空隙。
上述问题的解决办法有很多,比如可以将img标签的换行符去掉,就是将img标签写在一行内。或者是将换行符注释掉,但是我选择了一个比较奇葩的做法,就是讲font-size设为0。
话题转回来,难道图片下方出现的空白区域也是因为有换行或者是多余的空格被解析成了空白字符么。经过一番代码测试,不是这样的。
那么为什么盛放img的盒子高度会大于图片本身高度呢,
原来,问题出现在这里:
解决办法是啥呢?
(完)
img下面出现了蜜汁空白的更多相关文章
- 结对编程-->总结报告
项目github地址 PSP时间表格 结对编程中关于Information Hiding, Interface Design, Loose Coupling原则的使用 Information Hidi ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- ASP.NET使用HttpModule压缩并删除空白Html请求
当我们压缩我的Response后再传到Client端时,可以明显节省宽带. 提升Site的性能. 现在的浏览器大部分都支持Gzip,Deflate压缩. 同时我们还可以删除一些空白段,空行,注释等以使 ...
- EXCEL中多级分类汇总空白字段填充
使用场景,多级分类汇总后,在汇总的字段中显示空白,这样对我们直接取值做表带来十分不更(假像有5000条记录,1000条汇总项) 相关技术,INDIRECT函数,单元格定位功能. 在数据区域外任意一个单 ...
- Golang Web开发时前端出现谜之空白换行的坑
在使用Golang做Web开发时,有时候渲染出来的模板在前台显示时会出现一些奇怪的空白换行,具体特征就是查看css样式表并没有相关定义的空白部分. 分析: 查看出现问题页面的网页源代码,复制空白换行部 ...
- ActionBar设置自定义setCustomView()留有空白的问题
先来看问题,当我使用ActionBar的时候,设置setCustomView时,会留有空白的处理 网上很多朋友说可以修改V7包到19,结果处理的效果也是不理想的. 下面贴出我觉得靠谱的处理代码 pub ...
- dede在php7上空白
最近想看一本小说,想采集回来看,结果发现除了dedecms支持php7.0,其他主流cms基本上都不支持php7.0 在本地win7上调试了一遍,没有问题,放到linux服务器上的时候,发现打开任何页 ...
- 清除inline-block元素之间的空白
一个元素如果被设置为display:inline-block,那么这个元素将表现为行内块的性质.被设为行内块的元素 对内(子元素)表现为块级框,具体为可以设置高度宽度,可以设置垂直margin和pad ...
- inline-block 空白间距问题
一. 问题 元素是inline-block属性时,会有空白间隙 二. 解决方案 1. html方式 1)将元素之间的空隙去除 <div class="space"> & ...
随机推荐
- kotlin学习(10)反射
反射,简单来说,是一种在运行时动态地访问对象属性和方法的方式,而不需要事先确定这些属性是什么. Kotlin反射API:KClass.KCallable.KFunction.KPropperty KC ...
- Paper Reading
Paper Reading_SysML Paper Reading_Computer Architecture Paper Reading_Database Paper Reading_Distrib ...
- RocksDB Rate Limiter源码解析
这次的项目我们重点关注RocksDB中的一个环节:Rate Limiter.其实Rate Limiter的思想在很多其他系统中也很常用. 在RocksDB中,后台会实时运行compaction和flu ...
- iOS微信浏览器回退不刷新(监听浏览器回退事件)
兼容性:兼容全部ios系统 $(function(){ pushHistory(); }); function pushHistory(){ window.addEventListener(" ...
- redis基础及redis特殊场景使用描述
数据类型 String set list hash zset redis原理 单线程:redis是单线程+io多路复用:检查文件描述的就绪状态 对比memchached:多线程+锁 redis优势 解 ...
- ELK7.X中配置x-pack
ELK7.X中配置x-pack 1.X-Pack简介 X-Pack是一个Elastic Stack的扩展,将安全,警报,监视,报告和图形功能包含在一个易于安装的软件包中.虽然elasticsearch ...
- PAT Basic 1036 跟奥巴马一起编程 (15 分)
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个 ...
- 图像描点标注-labelme的安装及使用
1.直接使用pip安装lebelme pip install labelme 2.labelme的使用 找到labelme的安装路径,先找到python的安装路径如我的,C:\Users\Think\ ...
- 牛客练习赛49 E 筱玛爱游戏 (线性基+博弈)
链接:https://ac.nowcoder.com/acm/contest/946/E 来源:牛客网 筱玛爱游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他 ...
- git上拉项目