首页 > 解决方案 > 在一定的窗口宽度下将元素的左边距切成两半

问题描述

我想在某个窗口宽度(移动设备)下将 div 容器的左边距减半。

我已经用 parseInt、.css 尝试过这个,并将它临时存储在一个变量中。然后将其切成两半并使用.replace。

if ($(window).width() <= 590) {
    let oldmargin = parseInt($("#div").css("marginLeft"));
    let newmargin = oldmargin/2;
    $("#div").css("marginLeft").replace('rem', newmargin);
  }

不幸的是,代码不起作用。

标签: javascriptjquerycss

解决方案


要设置 margin-left 的新值,请尝试使用$("#div").css("margin-left",newmargin);

使用=获取值使用.css()=$("#div").css("margin-left")
设置.css()$("#div").css("margin-left",newmargin)

$('.div').each(function() {
  var oldmargin = parseInt($(this).css("marginLeft"));
  var newmargin = oldmargin / 2;
  $(this).css("marginLeft", newmargin);
});

演示

$('.div').each(function() {
  var oldmargin = parseInt($(this).css("marginLeft"));
  var newmargin = oldmargin / 2;
  $(this).css("marginLeft", newmargin);
});
.div {
  margin-left: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="div">#div</div>
<div class="div">#div</div>


推荐阅读