搜索
查看: 13864|回复: 0

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

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

- H2 U6 t& P' t" }" ?4 [  实现原理:! K4 _# |4 V( [
  固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。
+ m, g3 h+ S0 V. [1 J( y  同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:' V1 I- C) M! d: Y
  1. <style>% ]. A: b' D9 @* Y( S# c
  2. #bn {
    % G4 G/ ]) u+ d+ m# I( ^8 l
  3.   background-color:#FF0000;
    ! }: L6 j) [. u( L- A5 q7 F
  4.   width: 100%;/ M1 y3 ?! ?* J: N7 ~! r
  5.   height:500px;. V! x. J  o, E' x$ E
  6.   overflow: hidden;
    # Y/ D5 a4 z" V# w2 E# m. }, c1 R
  7. }& a  D% H$ Z' b6 U1 r6 j; r
  8. #bn .img
    1 _7 S: j" O# s; X* @  U- h7 \
  9. {6 |5 ]" K6 U  K8 g* x* q
  10.   width:1920px;
    5 D. _' y+ E. r$ F
  11.   margin:0 calc(50% - 960px);
    ( k" n, U4 e3 M: S- ~
  12. }
    $ Q/ f  d& E/ Z+ l. ~8 B1 b
  13. </style>$ b0 e3 [7 q- p
  14. $ |; f. J( Z3 K" W+ D7 |- \
  15. <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码

3 {& |: v7 S- ~, i) u1 T! |
+ R2 j2 F/ V4 `  u: b$ X) X
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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