页面宽度变化,块容器居中

页面宽度变化,块容器居中

效果

动态改变元素宽度

	  useEffect(() => {
	   changeContainerWidth() // 刚进入页面调用一次
	  },[0])  
	
	  const changeContainerWidth = () => {
	    const containerRef = document.getElementById('container')
	    ,innerContainer = 	document.getElementById('innerContainer')
	    ,containerWidth = containerRef?.offsetWidth;
	    const count = Math.floor((containerWidth + 20) / 220);
	    if(innerContainer){
	      innerContainer.style.width =`${ count * 220}px`;
	    }
	  }
	
	  window.onresize = (e) => {
	    changeContainerWidth()
	  }
       // 页面
       <div id='container' className={styles.container}>
          <div id='innerContainer' className={styles.innerContainer}>
            {
              [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => {
                return <div className={styles.item}>
                  111
                </div>
              })
            }
          </div>
        </div>

样式

        .container{
		  display: flex;
		  justify-content: center;
		  background-color: green;
		}
		
		.innerContainer{
		  margin-right: -20px;
		  background-color: pink;
		}
		
		.item{
		  display: inline-block;
		  margin-right: 20px;
		  margin-bottom: 20px;
		  width: 200px;
		  height: 200px;
		  background-color: #4d7ffa;
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值