JQuery用于设置动态最大宽度

时间:2011-11-18 13:57:15

标签: jquery dynamic css3 css

我对jQuery并不是特别擅长,所以完整的代码解决方案将是理想的。

该功能将:

  1. 获取浏览器屏幕宽度的70%。
  2. 将该宽度转换为相应的px值
  3. 使用从转化/计算中获得的值设置#mainContainer的最大宽度。
  4. 以下是我要设置max-width的容器的CSS样式:

    #mainContainer {
        background-image: url(bg3.jpg);
        background-repeat: repeat;
        background-color: #999;
        width: 70%;
        padding: 0;
        min-width: 940px;       /* 940px absolute value of 70%. */
        margin: 0 auto;
        min-height: 100%;
        /* Serves as a divider from content to the main container */
        -webkit-border-radius: 10px;
        border-radius: 10px;
    }
    

2 个答案:

答案 0 :(得分:28)

你应该能够在你拥有jQuery的页面的任何地方的<script>标签内复制粘贴它,它应该可以工作..

$( document ).ready( function(){
    setMaxWidth();
    $( window ).bind( "resize", setMaxWidth ); //Remove this if it's not needed. It will react when window changes size.

    function setMaxWidth() {
    $( "#mainContainer" ).css( "maxWidth", ( $( window ).width() * 0.7 | 0 ) + "px" );
    }

});

答案 1 :(得分:2)

或定义window.onresize事件

的功能

window.onresize = function() {
  var newWidth = ($(window).width() * .7);
  $("#mainContainer").css({
    "maxWidth": newWidth
  });
}
#mainContainer {
  background-color: #999;
  width: 70%;
  padding: 0;
  min-width: 30px;
  /* 940px absolute value of 70%. */
  margin: 0 auto;
  min-height: 100%;
  /* Serves as a divider from content to the main container */
  -webkit-border-radius: 10px;
  border-radius: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mainContainer">-</div>