img标签去除间隙及src为空时的默认边框

本文探讨了在HTML中多个图片排列时出现间隙的问题,并提供了四种解决方案,包括使用font-size:0、float:right、letter-spacing负数及弹性布局。同时,介绍了如何通过CSS去除src为空时图片的默认边框。

一 间隙问题

多个img图片放在容器中时,会出现间隙,就算设置margin:0也无法解决,类似下图:

请看代码:

定义img宽度为warp容器的25%,但是实际效果img在容器却不能排成一行,而是因为间隙被挤了下去,如下图。

因此在查阅相关资料以后,总结以下几种解决方法:

1 img父标签设置font-size:0;

2 wrap img添加float: right;(设置float后img的会有默认边框,这个下面会解决)

3 父元素设置letter-spacing属性为负数。

4 弹性布局:img父容器添加display: flex;出现与图1相同的效果。

二 去除src为空时默认边框

1 如果img不需要设置背景色及背景图片

img[src=""],img:not([src]){opacity:0;border: 0}


2 如果img有背景色

    src路径里需要默认加载透明的图片

<!doctype html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"/> <title>天气预报</title> <style type="text/css"> img { width: 140px; height: 140px; } body { (1): 17px; /* 第(1) 设置字体大小 */ } /*设置列表样式*/ ul, li { (2): none; /* 第(2) */ margin: 0px; padding: 0px; } li { (3): 1px solid #d4d4d4; /* 第(3) 设置边框 */ text-align: (4); /* 第(4) 居中 */ (5): 20px; /* 第(5) 为li添加圆角样式 */ } li p { text-align: (4); /* 第(4) 居中 */ } /*CSS3伪类选择器*/ li:first-child { /*CSS3新增颜色表达方式,rgba可设为半透明*/ background-color: rgba(199, 166, 4, 0.1); } /*定义动画名字和规则*/ @(6) anima { /* 第(6) */ from { /*初始的旋转角度*/ (7): rotate(0deg); /* 第(7) */ } to { /*结束的旋转角度*/ (7): rotate(360deg); /* 第(7) */ } } li:first-child img:hover { /*使用的动画元素*/ /*使用定义动画 anima*/ (8): anima; /* 第(8) */ /*动画播放间*/ animation-duration: 10s; /*动画播放次数,循环播放*/ animation-iteration-count: (9); /* 第(9) */ } /*定义自定义字体*/ @(10) { /* 第(10) */ /*定义自定义字体的名字*/ font-family: css3font; /*字体所在路径*/ (11): url("fonts/简书魏.ttf"); /* 第(11) * } /*使用 :first-child伪类选择今天的p标签*/ li:first-child p { /*使用自定义字体*/ font-family: css3font; } ul { /*设置弹性盒模型容器*/ (12): flex; /* 第(12) */ } li { /*弹性盒子分配自适应比例,为1等比分配*/ (13):1; /* 第(13) */ } /*多列布局*/ #news { /*多列布局分割列数*/ column-count: 3; /*多列布局间隙*/ (14): 30px; /* 第(14) */ } </style> </head> <body> <ul> <li> <p>今天</p> <img src="img/weather1.png" alt=""/> <p>晴</p> </li> <li> <p>明天</p> <img src="img/weather2.png" alt=""/> <p>阴</p> </li> <li> <p>后天</p> <img src="img/weather3.png" alt=""/> <p>小雨</p> </li> </ul> <div id="news"> <div>今天天气晴<br/>气温35℃<br/>出门注意防晒</div> <div>明天阴天 <br/> 气温28℃<br/>适合室外活动</div> <div>后天小雨<br/>气温27℃<br/>出门记得带伞</div> </div> </body> </html> 补全代码
最新发布
01-05
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值