javascript - 响应式网站上的超宽图像 slider

标签 javascript css layout

我正在创建一个响应式网站,我想使用一个非常宽的图像 slider (我相信你已经看到了这种东西)。

例如,我希望主站点的最大宽度为 1,200 像素并使用可变宽度。例如,我希望图像 slider 的宽度为 2,000 像素。在静态站点上,这相对简单,因为我可以简单地为图像 slider 提供 -400 像素的负左边距以使其居中。遗憾的是,在响应式站点的情况下,这是不可能的,因为偏移量需要是可变的。

我确实遇到了一些使偏移流畅的脚本,但这只在屏幕宽度大于网站宽度(即主要内容区域的最大宽度)时有效。当窗口变得比这个最大宽度窄时,脚本无法使图像 slider 居中。

有什么想法可以让图像 slider 在窗口中水平居中,无论用户窗口是宽还是窄?

<script type="text/javascript">
    function setMargins() {
        width = $(window).width();
        containerWidth = $("#flexslider_width").width();  
        leftMargin = (containerWidth-width)/2;    
        $("#flexslider_width").css("marginLeft", -leftMargin);    
    }
    $(document).ready(function() {
        setMargins();
        $(window).resize(function() {
            setMargins();    
        });
    });
</script>

提前感谢您的任何想法,

汤姆

最佳答案

编辑:我现在明白了。试试这个:http://codepen.io/anon/pen/azoRwo

.outer{
  position: relative;
  width: 100%;
  height: 100px;
  border: 2px solid red;
  overflow: hidden;
}
.image {
  position: absolute;
  left: 50%; /* Move to the middle of the parent */
  margin-right: -50%; /* Remove that extra width */
  transform: translate(-50%, 0); /* Move left again; No IE8 support*/
  width: 1000px;
  height: 96px;
  border: 2px solid cyan; /* Just useful for debugging */
  background: url('http://i.imgur.com/rBkbXS3.jpg');
  overflow: hidden;
}

基本上我们先向右移动,然后向左移动,使用父级宽度的百分比。如果您想在 IE8 中获得相同的功能,则必须使用 JavaScript。

引用:http://www.w3.org/Style/Examples/007/center.en.html

关于javascript - 响应式网站上的超宽图像 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846789/

相关文章:

java - setMaximumSize 对以 boxlayout 排列的 JPanel 的影响

javascript - 在javascript中调用C函数

javascript - jQuery用户定义的动态表

css - 如何在 Mac 上开始使用 Compass/Sass – 无效的 CSS 错误?

css - 水平对齐两个 Div 的问题

android默认键盘布局样式

android - 如何将 OnClickListener 附加到自定义首选项布局中的按钮?

php - 使用 xmlhttprequest 检索 json 格式的数据

javascript - Vuejs,如何将 props 传递给 Router 渲染的组件?

javascript - 使用 PHP 和 Javascript 进行编辑操作时出现一些 css 错误。