中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

css教程

CSS 教程

CSS 响应式设计

CSS实例

拓展阅读

厉害了我的哥,css图片居中原来有这么多种方法

阅读 (2323)
图片的居中显示css有很多方法,但在很多情况下有的方法无效,这是件很头疼的事情,比如一般设置图片属性text-align:centre水平居中,但这个方法经常无效,很多前端攻程师都有研究过或者说是搜索过css图片居中方法吧。

但其实css图片居中有多种不同的情况,也有多种不同的解决方法,具体方法如下所示:


图片居中又分为水平居中和垂直居中


一、水平居中:


1、单独文字垂直居中我们只需要设置CSS样式line-height属性即可。


2、文字与图片同排,在设置div高度同时再对此css样式的图片“img”样式设置vertical-align:middle垂直居中属性,如.yangshi img{vertical-align:middle;} 。


3 不确定宽度的块级元素设置水平居中的方法


(1)、是使用table作为容器的方法来实现。当然不大推荐使用这种方法,因为添加了无意义的标签。这里就稍微介绍一下吧。Table标签本身并不是块级元素,当我们不设置table的宽度的话,他里面的宽度是由他内部元素的宽度撑起来的。但即使我们没有设置table的宽度,直接设置table的外边距margin:0 auto;就可以实现水平居中了!这样我们就可以通过设置table水平居中,间接使里面的内容居中。

  

(2)、相对于用table的方法的好处是不用增加无语义标签,简化标签嵌套深度。这个思路是这样的,通过改变块级元素的display属性值为inline类型,然后设置text-align:center来实现居中。这种方法也有一定不妥之处就是把块级元素改为行内元素后,行内元素比块元素少了一些功能。比如说设定长宽值等,在项目运用中可能会有一些限制,大家可以自行选择。

  

(3)、通过给父元素设置浮动float,再设置父元素的position属性为relative和left:50%;子元素设置position:relative和left:-50%来实现水平居中。这个好处是可以保留块级元素仍然是以display:block的形式显示,不会添加无意义的标签,不添加嵌套深度。确点是设置了position:relative;带来了一些副作用。下面是第三种方法的实例代码,放到body标签里面就可以了。


二、垂直居中:


对这个CSS居中问题,我们可以使用设置背景图片的方法。举例:


body {BACKGROUND: url(”图片文件”) #FFF no-repeat center;}


关键就在于这个Center属性,它表示让该背景图片在容器中居中。你也可以把Cener换成Top Left或者直接写上数字来调整它的位置。


方法一:

<style type="text/css">

style>
<div><p><img src="http://www.google.com/intl/en/images/logo.gif" />p>div>

方法二:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>div里面图片垂直居中的几个例子title>
<style type="text/css">

style>
head>
<body>
<div><p><img src="http://www.google.com/intl/en/images/logo.gif" />p>div>
body>
html>	

方法三:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>div里面图片垂直居中的几个例子title>
<style type="text/css">

style>
head>
<body>
<div><p><img src="http://www.google.com/intl/en/images/logo.gif" />p>div>
body>
html>

方法四:


 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>div里面图片垂直居中的几个例子title> <style type="text/css">

-- * {margin:0;padding:0;} div { width:500px;border:1px solid #666; height:500px; background:url("http://www.google.com/intl/en/images/logo.gif") center no-repeat
} --> style> head> <body> <div>   
关闭
程序员人生