搜索
查看: 13022|回复: 0

[网站] 图片宽度超出div,css控制图片不改变原大小情况居中显示,图片超出div部分隐藏

[复制链接]
发表于 2020-4-27 11:51:31 | 显示全部楼层 |阅读模式
  今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。  目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。+ I7 _! B9 G0 {2 z, @- w& ]

% S2 q. L* ?! b% n+ D" r. Z3 `  实现原理:
/ }5 q, \7 L: P  固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。
# _5 v- |9 I/ d% j: X' t& f+ q  同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:
: l1 y2 h- G: w# u
  1. <style>) {, q; |! [* H5 {" }! c* }$ G
  2. #bn {
    * x/ c8 h% a# L' }+ C( o) u/ x6 s! l
  3.   background-color:#FF0000;/ d. d; G0 R4 _6 u, R4 ?/ ^
  4.   width: 100%;- L0 G2 ~- E& @5 `7 c6 L5 i5 m
  5.   height:500px;3 N/ L% g$ \8 K% s: c7 [7 Y$ {- n
  6.   overflow: hidden;1 O  P3 C( a+ U* a
  7. }
    ) L, }; k  H3 c; u$ W! p( S
  8. #bn .img
    % a* D5 _$ P2 x
  9. {3 ?; S( s/ G4 o1 g* b- S
  10.   width:1920px;* Q( Q0 ^' N8 c0 M) N8 _& l
  11.   margin:0 calc(50% - 960px);
    9 F' x  n) _& |$ j+ o" T
  12. }, z; ~' S+ s9 u" ?  X7 l+ X0 U
  13. </style>
    / {) D7 S+ l& Q2 B: K7 M, W+ Y
  14. 8 E2 H- |& t9 t5 B3 c  P& b4 u
  15. <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码
8 X# D/ a0 }" M( C

- u: i/ H+ d( E( A0 e, O
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

热议作品
精华帖子排行
精彩推荐

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 鲁公网安备 37021102000261号 |网站地图
返回顶部 返回列表