day3-3种实现小图标与文字水平对齐的方式
效果图:
1.使用小图标作为背景图实现
html:
<div class="test">
<ul>
<li class="method1"><a href="#">背景图实现对齐</a></li>
<li class="method2"><i class="icon"></i><a href="#">使用display实现对齐</a></li>
<li class="method3"><i class="icon2"></i><a href="#">使用float浮动对齐</a></li>
</ul>
</div>
css代码:
/* 背景图实现图标与文字对齐 */
ul{
list-style: none;
/* background-color: aqua; */
}
a{
text-decoration: none;
color: black;
}
.method1{
background-image: url(./photoNewsLeft2.gif);
background-repeat: no-repeat;
/* 使用padding-left解决背景图标与文字重合问题 */
padding-left: 14px;
/* 调整背景图位置使文字与背景图保持水平 */
background-position: 0 6px;
}
.method1 a{
margin-left: 5px;
}
2.使用display:inline-block实现
css代码:
/* 使用display:inline-block属性实现图标文字水平对齐 */
.icon{
background-image: url(./photoNewsLeft2.gif);
background-repeat: no-repeat;
background-position: 0 0;
padding-left: 5px;
/* 设置为inline-block,块级元素设置宽高 */
display: inline-block;
width: 14px;
height: 14px;
/* vertical-align:设置行内元素的基线相对于该元素所在行的基线对齐,使图标与文字水平对齐 */
vertical-align: middle;
}
该方法需要注意的是,当元素设置为display:inline-block时,该元素为块级元素,在只有背景图的情况下,需要给该元素设置宽高,使其有效显示;背景图无法撑起元素使其具有宽高
3.使用float实现
css代码:
/* 使用float实现图标与文字保持水平对齐 */
.icon2{
background-image: url(./photoNewsLeft2.gif);
background-repeat: no-repeat;
background-position: 0 0;
/* 当元素使用float的时候会自动转化为块级元素 需要设置宽高*/
float: left;
width: 14px;
height: 14px;
/* 使用margin-top调整图标位置,使其与文字保持水平 */
margin-top: 6px;
}
.method3 a{
float: left;
margin-left: 5px;
}
此处该注意的是,当元素设置float属性后会自动转化为块级元素,需要给元素设置宽高,使icon背景图有效显示
注意:第一种方法之所以不用设置宽高,是因为第一种方法的背景图设置在了li元素上,而li元素有文字内容可以自动撑开,使背景图有效显示;后两种方法使用背景图的i元素无内容可撑开元素
总结:就个人而言,感觉第二种方法好用一些,宽高+vertical-align 可以很方便的调整图标与文字的垂直定位,使两者保持水平
如有不妥之处请指正
day3-3种实现小图标与文字水平对齐的方式的更多相关文章
- android Editview中加小图标或者文字实现
关于这个问题,如果只是加小图标的话,已经提供了很好的支持,drawableLeft属性就可以设置左边的小图标,类推,右边也可以 不过如果你要加的是文字,我找了下,没有相应的属性,我们只能通过转换思路去 ...
- iOS开发之--使用storyboard下,tabbar小图标和文字颜色的设置
在开发项目的时候,如果是使用故事版设计的架构,那么在设置tabbar小图标的时候,可能会出现一点小问题, 成功的设置方法如下: 1.设置seleectedImage和image,其实就是非选中状态的图 ...
- 在input内添加小图标或文字(元/月)等
文字: <td class="formValue"> <div class="input-group"> <input id=&q ...
- EasyUI portal自定义小图标,不是用js方式加载
<script src="~/Scripts/jquery.portal.js"></script> <script> $(function ( ...
- Android 自己定义 TextView drawableTop 图标与文字左对齐(效果图)
public class DrawableTopLeftTextView extends TextView { private Paint mPaint; private float fFontHei ...
- html 图标和文字一行对齐
原图: 效果图: 备注:vertical-align:middle <div> <p class="time tl-size12" style="pad ...
- css:图标与文字对齐的两种方法
(好久没写博客了,这几个月的积累比较零碎,记在本子上,现在开始整理归类) 在平时写页面的过程中,常遇到要把小图标与文字对齐的情况.比如: 总结了两种方法,代码量都比较少. 第一种 对img设置竖直方向 ...
- CSS图标与文字对齐的两种方法
在平时写页面的过程中,常遇到要把小图标与文字对齐的情况.比如: 总结了两种方法,代码量都比较少. 第一种 对img设置竖直方向对齐为middle, <div> <img src=&q ...
- win10 系统右键菜单不显示文字(只有小图标)修复方法
如下图,win10点击鼠标右键调出菜单时,看不到菜单的文字,只显示了小图标. 解决方法: Cortana 搜索 cmd ,看到 命令提示符,右键,选择 以管理员身份运行. 在命令提示符里输入以下命令, ...
随机推荐
- P2983 [USACO10FEB]购买巧克力
P2983 [USACO10FEB]购买巧克力 题解 注意题目开 long long 贪心策略:价格从低到高,买够为止 反证:若剩下的有一个K”,比K小,那么交换,稳赚不赔 所以,在买K之前,所有比他 ...
- oc中枚举映射字符串技巧
后台返枚举数据给app,app需要对不同枚举转换成字符串显示. 一般想到方法用 switch 根据不同枚举变量返回不同字符串,结果就是判断代码写得很长,不优雅.更简便方式有如下: typedef NS ...
- Cortex-M3 双堆栈指针(MSP&PSP)
[双堆栈指针(MSP&PSP)] Cortex-M3内核中有两个堆栈指针(MSP & PSP),但任何时刻只能使用到其中一个. 复位后处于线程模式特权级,默认使用MSP. 通过SP访问 ...
- Oracle 必要的后台进程
Oracle 必要的后台进程 Table of Contents 1. 简述 2. 必要进程 2.1. 默认启动后台进程 2.2. 哪些进程不能杀 1 简述 oralce 每次大的版本变更,后台进程都 ...
- 解决 Elasticsearch 超过 10000 条无法查询的问题
解决 Elasticsearch 超过 10000 条无法查询的问题 问题描述 分页查询场景,当查询记录数超过 10000 条时,会报错. 使用 Kibana 的 Dev Tools 工具查询 从第 ...
- electron-vue小试身手
最近一个项目(vue)需求是用硬件来触发web端页面显示以及效果的切换,客户的硬件设备只支持用tcp协议通讯,而我们的前端呢是用不了tcp的,众所周知在浏览器端,我们只能用http/https协议(a ...
- C#编程 XML文档
XML 指可扩展标记语言,XML 被设计用来传输和存储数据.XML 被设计用来结构化.存储以及传输信息. xml文档展示 <?xml version="1.0" encodi ...
- windows使用放大镜快速放大屏幕局部
Win10系统自带放大镜有时真的是比较难使用的,但是如果你对他的快捷键有所了解之后就会感觉它其实也没有那么难,用户可以在使用完之后直接按快捷键将其关闭,一起看看吧. Win10系统放大镜快速关闭快捷键 ...
- android webview 添加内置对象
package com.android.EBrowser; import android.app.Activity;import android.graphics.Rect;import androi ...
- windows server 2008 R2 怎么集成USB3.0驱动
DELL最新出的T130.T330.R230.R330四款服务器新增了USB3.0功能,在安装2008 R2系统镜像需要集成USB3.0才能安装,不然鼠标和键盘动不了 先在D盘创建一个文件夹Temp, ...