【问题标题】:Flex box image selection弹性框图像选择
【发布时间】:2018-01-03 06:07:04
【问题描述】:

我在响应式弹性网格中有一个包含四个图像的窗口。我想在单击图像时,这个图像得到width=100% 覆盖(或隐藏)其他图像总是在弹性框中。

我猜是使用 jQuery 和 JavaScript,但我找不到方法。有什么帮助吗?

谢谢。

.wrap {display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;}

.container
{box-shadow: 0.075rem 0 0 0 #C9C9C9,0 0.075rem 0 0 #C9C9C9,0.075rem 0.075rem 0 0 #C9C9C9, 0.075rem 0 0 0 #C9C9C9 inset,0 0.075rem 0 0 #C9C9C9 inset;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
float:left;}

.half
{margin: 0.25rem;}

.photo {width: 15rem;
max-width:100%;
}
<div class="wrap">
  
<div class="container">
<div class="half">
                    <div id="quarter1">
<a href=""><img class="photo" src="http://letsprattle.com/image/prattle-icon-square-white.png" class="" alt="" title=""></a>
                   
                    </div>    
                    <div id="quarter2">
<a href=""><img class="photo" src="http://yvonnemichaelides.com/wp-content/uploads/2016/01/clock2.gif" class="" alt="" title="" ></a>
                    </div>                    
</div>
<div class="half">
                    <div id="quarter3">
<a href=""><img class="photo" src="https://cdn.shopify.com/s/files/1/0387/1545/products/product_analysis_1024x1024.png?v=1426535435" class="" alt="" title="" ></a>
                    </div>    
                   <div id="quarter4">
<a href=""><img class="photo" src="http://www.northperthcommunityhospice.org/images/icons/calendar-icon.png" class="" alt="" title="" ></a>
                    </div>                   
</div>
</div>
</div>

【问题讨论】:

    标签: javascript html css flexbox


    【解决方案1】:

    我对您的 HTML 结构做了一些更改。运行下面的 sn -p

    var classname = document.getElementsByClassName("photoContainer");
    	var containerWidth = document.getElementsByClassName('container')[0].offsetWidth;
    
    	var myFunction = function(ev) {
      
      if(this.classList.contains('expandImage')) {
      this.classList.remove('expandImage');
      for (var i = 0; i < classname.length; i++) {
    	    	classname[i].classList.remove('hideImage');
    		}
    
      return;
      }
    		
    		for (var i = 0; i < classname.length; i++) {
    	    	classname[i].classList.add('hideImage');
    		}
    		this.classList.remove('hideImage');
    		this.classList.add('expandImage');
    	    this.style.width = containerWidth;
    		
    
    	};
    
    	for (var i = 0; i < classname.length; i++) {
    	    classname[i].addEventListener('click', myFunction, false);
    	}
    .wrap {
    	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    }
    
    .container
    {box-shadow: 0.075rem 0 0 0 #C9C9C9,0 0.075rem 0 0 #C9C9C9,0.075rem 0.075rem 0 0 #C9C9C9, 0.075rem 0 0 0 #C9C9C9 inset,0 0.075rem 0 0 #C9C9C9 inset;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    float:left;
    position: relative;}
    
    .half
    {margin: 0.25rem;}
    
    .photo {width: 15rem;
    max-width:100%;
    }
    
    .hideImage {
    	display: none
    }
    
    .expandImage > img {
        width: 100%;
    }
    <div class="wrap">
      
    <div class="container">
    <div class="half">
                        <div id="quarter1" class="photoContainer">
    <img class="photo" src="http://letsprattle.com/image/prattle-icon-square-white.png" class="" alt="" title="">
                       
                        </div>    
                        <div id="quarter2" class="photoContainer">
    <img class="photo" src="http://yvonnemichaelides.com/wp-content/uploads/2016/01/clock2.gif" class="" alt="" title="" >
                        </div>                    
    </div>
    <div class="half">
                        <div id="quarter3" class="photoContainer">
    <img class="photo" src="https://cdn.shopify.com/s/files/1/0387/1545/products/product_analysis_1024x1024.png?v=1426535435" class="" alt="" title="" >
                        </div>    
                       <div id="quarter4" class="photoContainer">
    <img class="photo" src="http://www.northperthcommunityhospice.org/images/icons/calendar-icon.png" class="" alt="" title="" >
                        </div>                   
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2017-12-03
      • 2013-01-23
      • 1970-01-01
      • 2019-09-01
      相关资源
      最近更新 更多