javascript - 具有固定宽度侧边栏的灵活布局

标签 javascript jquery css layout

我需要创建一个类似于此的灵活布局 http://jsfiddle.net/Lu9gQ/12/

具有以下属性:

  • 示例中的标题
  • “左边”必须有:width = ( 100% - #sidebar's width ), and height = ( 100% - #header's height )
  • “侧边栏”必须有固定的宽度和高度 = ( 100% - #header's height )
  • 只有当窗口的宽度大于固定宽度时,布局才必须是灵活的

    Is there any way to do it?
    

最佳答案

我已经使用 jquery 和一些 js 编写了一个解决方案来动态管理窗口大小调整。基本上,函数 conflayout() 管理设置,每次调整窗口大小时都会调用它,并且在开始设置原始窗口时也会调用一次。

要更改设计变得流畅的设置大小,请将 800 更改为:
if (window.innerWidth > 800) {

你喜欢的任何数字。

当屏幕的宽度变得小于该数字时,一个 div 将包裹在 body 的内容周围,它充当保持静态的包装器。

实例:

http://thepelican.me/liquidcssexample.html


js:

var waitForFinalEvent = (function () {
  var timers = {};
  return function (callback, ms, uniqueId) {
    if (!uniqueId) {
      uniqueId = "Don't call this twice without a uniqueId";
    }
    if (timers[uniqueId]) {
      clearTimeout (timers[uniqueId]);
    }
    timers[uniqueId] = setTimeout(callback, ms);
  };
})();

$(window).resize(function () {
    waitForFinalEvent(function(){

conflayout()

      //...
    }, 1, "reloadproperties");
});

function conflayout() {

if (window.innerWidth > 800) {

$('#left').width((window.innerWidth-$('#sidebar').width())+1) 
$('#left, #sidebar').css({minHeight: window.innerHeight-$('#header').height()}) 
 $("#wrapper").unwrap();
 $('#wrapper').css({width: 'auto !important'});

}
else
{
    if($('#contain').size() < 1) {
    $('body').wrapInner('<div id="contain" />');
    }
    $('#wrapper').css({width: '800px !important'});
    $('#contain').css({width: '800px',position: 'fixed', height: '100%' })
}

}

$(document).ready(function() { 
conflayout()
});

关于javascript - 具有固定宽度侧边栏的灵活布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10372471/

相关文章:

javascript - 悬停后如何动画删除背景?

javascript - THREE.js 用子级和更多 Material 克隆父级网格

javascript - 如何从json中搜索文本并以html显示?

css - Chrome 不加载 CSS 源映射?

html - ie9 中的 'not' css 选择器

javascript - 异步调用函数

javascript - 在 Rails 中使用 jQuery 附加表单

javascript - 我可以将 jQuery .trigger() 与通过 addEventListener() 添加的事件监听器一起使用吗?

css - 水平菜单下拉列表 CSS/HTML/Javascript 的一个小问题

javascript - jQuery 删除或添加样式到特定类型元素的最后一个