实现图标Icon+文字在div里自动中心居中(水平垂直居中)

已知div行高设置text-align:center文字会自动居中。

通过:before来设置icon的地址和高宽。

需要设置图片默认的垂直居中条件,与文字一致,为text-bottom。

设置图片行级显示。

<!Doctype html>
<html>
<head>
<style>
body{margin:0;padding:0;}
.con{position:absolute;width:500px;height:50px;border:1px red solid;
line-height:50px;color:green;text-align:center;
}
.txt{font-size:20px;}
.txt:before{
content:‘111‘;
background-image:url(‘icon.png‘);
background-size:20px 20px;
vertical-align:text-bottom;
display:inline-block;
width:20px;
height:20px;
border:0;
top:0;
left:0;
}
</style>
</head>
<body>
<div class="con">
<span class="txt">我是三哥四哥五哥一个字</span>
</div>
</body>
</html>

实际效果,图标和文字会自动在div里中心居中

时间: 2024-10-18 13:08:56

实现图标Icon+文字在div里自动中心居中(水平垂直居中)的相关文章

实现div里的img图片水平垂直居中

<body> <div> <img src="1.jpg" alt="haha"> </div> </body> 将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle. <style type="text/css"> *{margin: 0;padding: 0;} div{ w

图片与文字在div里实现垂直水平都居中

第一种方法,利用盒布局实现   <style type="text/css">/*盒布局实现图片与文字水平垂直居中*/ .div1{ width: 100%; height:100px; background: yellowgreen; display:-moz-box; -moz-box-align:center; -moz-box-pack:center; } </style> <div class="div1"> <i

margin-bottom无效问题以及div里内容动态居中样式!

最近调前端样式时候,遇到一个需求,在中间文字不对等的情况下想让下面的操作文字距离底部对齐,如图: , 刚开始觉得使用margin-bottom就可以,后来发现只有margin-top是管用的,查了资料发现: margin-bottom是下方的外边距,并不能让元素向下方移动,margin-top作为上边距,把元素"推"了下去. 如果希望图标距离下方30px,那么可以试试在ul上设置position: absolute,bottom: 30px,另外父元素也必须设置成position:re

转 Div+Css控制背景图片水平垂直居中显示 背景铺满全屏

在Web开发中我们经常要碰到这样的问题:在为一个页面设置背景图片之后往往希望图片能够在分辨率比较大的情况下水平垂直都居中显示.通常水平居中显示在Css中是很容易做到的,而垂直居中就需要使用一些Css的技巧: 1. 首先为了能使得网站能够根据浏览器大小自适应,我们需要将页面的body元素height值设为100%,而在这之前,我们需要将xhtml验证从网站头删除.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo

移动端重构图片文字的水平垂直居中

移动端重构的时候,常见图文居中分两种,一种是这样图片跟文字呈上下结构的 这种比较简单,在这里就不详细说了. 今天群里有人问到了另外一种的,类似这样的,图片与文字呈左右结构的,并且图文水平垂直居中 大致意思就是,图片跟文字是左右结构,图片可以根据屏幕大小变化,右边文字有可能一行,有可能多行,都要求在那个方框里面垂直居中.并且图片跟文字整体在方框里面也是水平垂直居中的.甚至那个方框的高都不是固定的. 正好自己前些天也碰到这问题,当时赶项目做得有点粗糙,今天重新写写. 上次那项目做的- -要是万一文字

让div自适应浏览器窗口居中显示

今天做 banner 时发现一个问题,就是浏览器窗口水平拉伸时 banner 图未能居中,所以网上找了些资料,自己写了个小 demo html代码: <div class="div1"> <div class="div2">自适应浏览器水平垂直居中</div> </div> css代码: .div1{ width: auto; height: 600px; background: #cccccc; position:

未知宽高的div水平垂直居中

未知宽度的div使内容水平垂直居中方法一:使用display:flex:justify-content:center;align-items: center;属性代码如下:<style> #box{ display: flex; justify-content:center; align-items: center; height: 500px; }</style><div id="box"> 水平垂直居中</div>方法二:使用tran

文字或是子div在父div里垂直居中

只有一行文字的话,直接用line-hight可以解决. 有多行文字或是想要子div在父div里垂直居中: 首先要理解vertical-align: middle只在table属性中才会垂直居中,应用到display:inline-block元素的话就是和隔壁元素居中对齐. 方法一: 在div里增加一个隐藏子元素,高度为100%和父div一样,这样再设置vertical-align: middle的话子div就会和父div一样高的子元素垂直居中对齐. <style> .box{ float: l

HTML直接在DIV里输入文字的方法

在做aJax留言的时候,发现用textarea留言非常别扭,有右边的那个滑动动条的东东看着特别别扭,用CSS去掉后结果发现IE9以下的浏览器还不支持,所以就想,DIV里可不可以直接输入文字,下面放出DIV输入文字的代码 <div contenteditable="true" style="width:100px;height:50px;border:1px solid red;word-wrap:break-word;overflow:hidden;">