我正在开发一个网站,我想创建一个脚本来检测页面何时超过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 中的 padding-right 为 30px 但是,如果页面返回超过 500px以恢复正常。
答案 0 :(得分:4)
您不需要JavaScript,因此不应使用JavaScript。您需要CSS3媒体查询(除非您需要使用polyfill无法实现的旧浏览器支持)。
你会想要这样的东西来改变:
@media screen and (max-width: 500px) {
/* UNDER 500px CSS here */
.class{
color: red;
}
}
答案 1 :(得分:3)
使用媒体查询是可行的方法。只需将其添加到CSS文件的底部:
@media only screen and (max-width: 500px) {
.footer-titles-ul {padding-right: 30px;}
}
答案 2 :(得分:0)
如果你想要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();
});
});