CSS解决页面图像垂直中心问题的方法

作为前端设计人员,对产品展示页面的设计并不陌生,而产品图片的放置是必不可少的一步,中间和垂直中心是最重要的一步,有时需要在产品图像上垂直和水平地显示。这个显示对于CSS来说更难做。我认为很多前端攻击计划者已经对这些方法进行了研究和探索,许多网站使用表格来实现产品图像的垂直对齐,这也是非常方便的。唯一的缺点是结构被锁定。现在让我们看看一些方法用表实现产品的垂直水平对齐。

画面垂直中心的问题

图片水平垂直中心是把图片放在容器中的元素(容器大于图像的大小和容器的大小是指定的,在这个容器的图片)中(中指的中间元素,和画面不是容器)的背景图像(背景图像)显示,是显示元素的形式,如下图所示:


我们都知道,如果IMG有一定大小和图片的大小是一样的,我们实现它的水平垂直对齐很容易。只要我们在下面操作,我们就能方便地解决这个问题。

图片显示在块元素(显示:块)中。
指定图片的左边缘边缘清楚的最高值,与左边界的值等于宽度的容器的图片(imbboxwidth)图像宽度(imgwidth)减去一半的价值{保证金左= }(imgboxwidth imgwidth) / 2;缘上缘左非常相似,但相应的宽度值,高度值,即{保证金=(imgboxheight imgheight) / 2 }。
上述方法简便易行,但过于有限。例如,当图片不同时,使用上面的方法就比较困难。也许你会定义一个的相位图的大小的图片,然后指定一个不同的保证金给他们。但也有很多情况下我们不能使用这种方法来解决图像的水平和垂直中心的问题,例如,有很多图片的大小不同,对容器的单位和单位大小的图片是不一样的,所以我们没有办法计算有多少是图片和容器边缘之间,然后解决图像水平垂直中心是相当困难的。换句话说,如果有任何的方式来进行横向和纵向的不同大小的图片,我们是多么有用和方便。

解决问题mdash;mdash;使画面的水平垂直

解决中间层问题很容易。如果图片悬空,并且显示:内联

对于垂直中心的最佳解决方案,在现代的浏览器,我们可以设置图片的dipslay:表细胞;垂直对齐:middle容器;该方法能成功地使图片实现垂直,但只能运行在现代浏览器,在ie6-7正常运输。它将不可能达到这种让我们不要担心,让我们看看下面的方法:

1,表单元格加显示:内联

这个方法很神奇,我们前面说的显示表和在现代浏览器中实现图像垂直垂直是最好的方式,但ie6-7不支持显示:表格单元,它不是那么严重,我们只要ie6-7给了他其他的方式。事实上,这并不难掌握原则下:让我们来看看这个想法第一。

首先,在图片的容器元素中设置显示:表单元格;垂直对齐:中间;实现当前浏览器的垂直中心;
ie6-7已创建一个线框的一个好方法,框的高度,如图容器的高度相同,与设置为线框;垂直对齐:middle。
接下来的关键是建立一个ie6-7线盒,但它是好的,ie6-7下部显示支持dipslay:内联ldquobuilding-block所以我们可以创建图片容器空元素(例如,跨度),并设置跨度的显示:内联块;高度:100%垂直对齐:middle

有一个需要注意的细节创建线框,在ie6-7空心线块元素的宽度是0ie6-7,所以没有效果,那么我们需要添加跨度宽度:1px此时,会给错误的中等水平造成1px,但这种你可以接受它的bug。

最终的解决方案是使用显示:表格单元格设置显示线间隔:inline-block.of课程,它仍然需要写IE的一些特殊的代码,然后我们再看看代码:

HTML标记

xml代码将内容复制到剪贴板。













货物积载与系固安全操作规则

CSS代码将内容复制到剪贴板。



imgWrap Li {。
浮点数:左;
# solid 1px边框:666;
保证金:10px 10px 00;
列表样式:无;
边界塌陷:塌陷;
}
imgwrap {。
背景:# FFA的URL(图像/ gridbg .gif)重复中心;
宽度:219px;
身高:219px;
显示:表单元格;用于形成单元格图片显示窗体的容器
文本对齐:居中;
垂直对齐:中间;垂直居中
}
imgwrap {:悬停。
背景颜色:# DFD;
}
imgwrap { IMG。
Border: solid 1px #66f;
垂直对齐:中间;垂直居中
}




imgwrap {。
显示块;
}
imgwrap {跨度。
显示:内联块;
垂直对齐:中间;
身高:100%;
}
{。imgwrap
_height:0;
缩放:1;
}







影响


2、空白标签实现图片的垂直中心

这个方法很有趣,很独特。它与浏览器兼容。代码比第一个方法简单得多。最重要的是不要把效果写到ie上,还要理解它。让我们看看这个方法。
HTML标记

xml代码将内容复制到剪贴板。













货物积载与系固安全操作规则

CSS代码将内容复制到剪贴板。



imgwrap李{。
宽度:219px;
身高:219px;
浮点数:左;
# solid 1px边框:666;
保证金:10px 10px 00;
列表样式:无;
文本对齐:中心;
字体大小:0;
}

imgwrap {。
显示块;
身高:100%;
背景:# FFA的URL(图像/ gridbg .gif)重复中心;
}
imgwrap {:悬停。
背景颜色:绿色;
}
imgwrap {跨度。
显示:内联块;将被更改为元素显示中的块元素中的一行。
宽度:1px; / * * /实现可读性影响下的IE
高度:100%; *使用元素高度和高度图片容器
垂直对齐:中间;垂直对齐
}

imgwrap { IMG。
垂直对齐:中间;
}






影响


3、显示:表模拟表,实现图像垂直居中。

说下一件事是,结构有点复杂,在ie6-7案件破解生产。这种方法是模拟形式来实现图片的垂直中心的影响。

表我们都知道,他有一个(表列)细胞株(单元格),大家都知道,表细胞;垂直对齐:middle可以让元素垂直,然后下面是利用这一原理作出了榜样,从编码的角度

HTML标记



xml代码将内容复制到剪贴板。





































货物积载与系固安全操作规则

CSS代码将内容复制到剪贴板。


imgWrap Li {。
背景:# FFA的URL(图像/ gridbg .gif)重复中心;
宽度:219px;
身高:219px;
浮点数:左;
# solid 1px边框:666;
保证金:10px 10px 00;
列表样式:无;
文本对齐:中心;
}
{。表
宽度:100%;
身高:100%;
显示:表;
职位:相对;
}

{。TableCell
显示:表单元格;
垂直对齐:中间;
文本对齐:中心;
填料:10px;
*立场:绝对;
*顶部:50%;
*左:50%;
}
imgwrap {。
显示块;
*职位:相对;
*顶部:- 50%;
*左:- 50%;
}





影响