检测页面大小并在宽度低于 500px 时进行 css 更改

Detecting page size and making css changes when width drops below 500px

本文关键字:500px 更改 css 检测      更新时间:2023-09-26

我正在开发一个网站,我想制作一个脚本来检测页面何时超过 500px 以及何时低于 500px,以便我可以对代码进行更改。我当前的代码在页面末尾有一些链接,例如页脚,当它低于 500px 时,我希望它们彼此靠近;

<div class="footer-titles">
    <ul class="footer-titles-ul">
        <li><h class="titles">Link 1</h></li>
        <li><h class="titles">Link 2</h></li>
        <li><h class="titles">Link 3</h></li> 
    </ul>
</div>

还有我的 CSS

.footer-titles{width: auto; min-width: 800px; left: 0px; right: 0px; position: absolute; bottom: 210px;}
.footer-titles-ul {list-style: none; padding-left: 120px;}
.footer-titles-ul li {padding-right: 90px; display: inline;}

因此,当页面低于 500px 时,我希望 .footer-titles-ul li右填充为 30px,但如果页面恢复到 500px以上即可恢复正常。

你不需要 JavaScript 来做这个,你也不应该用 JavaScript 来做这个。 您需要 CSS3 媒体查询(除非您需要旧的浏览器支持,而 polyfill 无法实现)。

你会想要这样的东西来获得更改:

@media screen and (max-width: 500px) {
  /* UNDER 500px CSS here */
  .class{
   color: red;
  }
}

使用媒体查询是要走的路。只需将其添加到CSS文件的底部:

@media only screen and (max-width: 500px) {
    .footer-titles-ul {padding-right: 30px;}
}

如果你想要jQuery,我认为这对你有用。但话又说回来,我会推荐其他人所说的CSS媒体查询。

$(document).ready(function(){
    var detectViewPort = function() {
        var Wwidth = $(window).width();
        if (Wwidth < 500){
            $('.footer-titles-ul li').css('padding-right', '30px');
         }
        if (Wwidth > 500){
            $('.footer-titles-ul li').css('padding-right', '90px');
        }
    };
    $(function(){
      detectViewPort();
    });
    $(window).resize(function () {
       detectViewPort();
    });
});