搜索
查看: 14204|回复: 0

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

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

- F/ `7 E( Q3 a/ S5 i8 _2 z  实现原理:
1 V, ?' u4 G6 C. p9 r/ i  固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。
. T4 F3 G8 b$ L# I% h' N+ w  同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:0 e, d6 K' f2 Q: F# K6 m! y( E
  1. <style>1 f; f/ O9 o4 W5 e* v. Q  \. k
  2. #bn {% z5 E; ?7 |! v$ T! a' V- e3 j* j
  3.   background-color:#FF0000;
    5 {, \' ~7 L8 Z# C
  4.   width: 100%;
    " R+ d3 {2 o2 U. E# G
  5.   height:500px;! [- D7 ^  g. j3 V6 w# J6 h
  6.   overflow: hidden;7 X1 N3 o9 Z6 H, T
  7. }! N9 e1 K2 H3 m7 X1 J, g0 d
  8. #bn .img9 G! w  I$ m8 K
  9. {
    : Q1 ]5 a9 q  B; C, S; u" q
  10.   width:1920px;! A' h. y/ v6 Z& {2 H9 Q4 @
  11.   margin:0 calc(50% - 960px);
    : B" U! l! S0 R( J+ i% ]! H
  12. }  s8 N1 R. k, O
  13. </style>
    5 `; {5 b  |2 l1 f% @0 ~7 X
  14. : ~/ M$ Y# C& T6 H' K7 a
  15. <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码
7 M+ y( A; V8 B9 a. r1 v

0 l( u3 x- Z! c6 F
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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