|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。5 h% D" h; X2 y' o$ Q5 U/ m
X6 `# k& U. y& z3 P- a4 Z
实现原理:
7 B) {' {2 I8 P* u 固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。! m& d8 ~) d8 h$ [$ G. _! y8 y
同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:: ~6 a5 T4 z- J7 \
- <style>
2 ?) O4 f5 z* ]) o2 k, C8 E; d - #bn {1 L! H0 d+ [+ f; E
- background-color:#FF0000;7 L, P- e* Y9 N7 V- L' J, w
- width: 100%;4 C u5 ~5 s2 O
- height:500px;
; k2 P$ h+ ?* G( U - overflow: hidden;7 A4 U+ {: J# t7 B: |, u( e) X- y8 Y
- }4 s1 i/ v/ Y% B; Q, ~) e8 m
- #bn .img; O! j2 R" n6 o& r# o; H
- {
- t9 g/ p$ x( S# f4 A - width:1920px;
4 y/ u1 e5 x8 A1 y - margin:0 calc(50% - 960px);
* ^* S# Y" w9 q - }
* z, T% r# f2 J" j6 W* V - </style>
# h# ^2 P( s, r/ [
5 T! K0 O- H8 z( s" H! `# R4 k- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码
' o: f4 E3 q6 g1 a; k E! X0 z9 J
|
|