不同屏幕尺寸小虫子下的bootstrap响应式设计

时间:2013-06-19 17:04:10

标签: javascript css3 twitter-bootstrap

我是新的引导程序,我试图使用bootstrap,同位素和表达引擎制作我的响应式网络。我使我的网络工作在默认的bootstrap特性。网页响应不同的屏幕尺寸,但当页面大小介于480px和768像素之间时,页面反应不好,滚动图片在菜单中移动。我不想要那个,我只是希望一切随着卷轴而移动。

像:

在滚动之前:

http://imageshack.us/a/img401/1399/t8f.png

滚动后:

http://imageshack.us/a/img5/3548/4kt3.png

在第二张图片中,菜单位于所有图片的后面,我想对所有页面应用滚动,而不仅仅是图片。

另一方面我想在480px下使用jquery mobile,我不知道我是否需要创建另一个页面,或者如何在480px下移植它

我的一些代码:

<!DOCTYPE html>
    <html lang="{country_code}">
        <head>
            <title>MNT Graphic Design - {if country_code != 'es'}Portfolio{if:else}Portafolio{/if}</title>

            <!-- CSS Declaration -->
            <link rel="stylesheet" type="text/css" href="{site_url}bootstrap/css/bootstrap.css" />
            <link rel="stylesheet" type="text/css" href="{site_url}isotope/css/isotope.css" />
            <link rel="stylesheet" type="text/css" href="{path='styles/main'}" />
        </head>

        <body>
            <div class="container-fluid">
                <div class="row-fluid">
                    <div class="span3">
                        <div id="well sidebar-nav" data-spy="affix" data-offset-top="30" >
                            <div id="brand">
                                <a href="{site_url}" title="Inicio"><img src="{site_url}mntgd/images/logo.png" alt="MNT Graphic Design Logo" /></a>
                            </div>
                            <div id="navegacion">
                                <ul class="nav nav-list sidenav" id="filters">
                                    <li class="nav-header">{if country_code != 'es'}MENU{if:else}MEN&Uacute;{/if}</li>
                                    <li><a role="menuitem" href="#" data-filter=".img-corp">{if country_code != 'es'}Branding{if:else}Imagen Corporativa{/if}</a></li>
                                    <li><a role="menuitem" href="#" data-filter=".edi">{if country_code != 'es'}Print{if:else}Editorial{/if}</a></li>
                                    <li><a role="menuitem" href="#" data-filter=".web">{if country_code != 'es'}Web Design{if:else}Dise&nacute;o Web{/if}</a></li>
                                    <li><a role="menuitem" href="#" data-filter=".photo">{if country_code != 'es'}Photography{if:else}Fotograf&iacute;a{/if}</a></li>
                                    <li><a role="menuitem" href="#" data-filter="*">{if country_code != 'es'}All Works{if:else}Ver todo{/if}</a></li>
                                    <li class="divider"></li>
                                    <li class="dropdown">
                                        <a id="about-btn" class="dropdown-toggle" role="button" data-toggle="dropdown" href="#">MNT Graphic Design<b class="icon-chevron-right"></b></a>
                                        <ul class="dropdown-menu" role="menu" aria-labelledby="about-btn">
                                            <li role="presentation"><a role="menuitem" href="#" >{if country_code != 'es'}About Us{if:else}Nosotros{/if}</a></li>
                                            <li role="presentation"><a role="menuitem" href="#" data-filter=".profile">{if country_code != 'es'}Profiles{if:else}Perfiles{/if}</a></li>
                                            <li role="presentation"><a role="menuitem" href="#" data-filter=".customers">{if country_code != 'es'}Customers{if:else}Clientes{/if}</a></li>
                                        </ul>
                                    </li>

                                    <li class="dropdown" id="options" >
                                        <a id="sort-btn" class="dropdown-toggle" role="button" data-toggle="dropdown" href="#">{if country_code != 'es'}Order by{if:else}Ordenar{/if}<b class="icon-chevron-right"></b></a>
                                        <ul class="dropdown-menu option-set" id="sort-by" data-option-key="sortBy" role="menu" aria-labelledby="sort-btn">
                                            <li role="presentation"><a role="menuitem" href="#sortBy=original-order" data-option-value="original-order" class="selected">{if country_code != 'es'}Original Order{if:else}Por defecto{/if}</a></li>
                                            <li role="presentation"><a role="menuitem" href="#sortBy=by_project" data-option-value="by_project">{if country_code != 'es'}By Project{if:else}Por Proyecto{/if}</a></li>
                                            <li role="presentation"><a role="menuitem" href="#sortBy=by_date" data-option-value="by_date">{if country_code != 'es'}By Date{if:else}Por Fecha{/if}</a></li>
                                        </ul>
                                    </li>
                                    <li class="divider"></li>
                                    <li><a role="menuitem" href="#" data-filter=".contact">Cont&aacute;ctenos</a></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div class="isoenv span9">

                        <div id="container" class="clickable clearfix">

                            <!--
                            {exp:channel:entries channel="portfolio" orderby="random"}
                            <div class="element {channel_short_name} {if sticky == 'y'}pinned{if:else}{/if}" data-project="" data-date="{entry_date format="%Y%m%d"}">
                                <img src="{portfolio_imagen:thumb2}" alt="{title}" />
                            </div>
                            {/exp:channel:entries}
                            -->

                            <div class="element photo pinned"  data-project="palo1" data-date="20130630">
                                <img src="http://www.mntdesign.co/uploads/imagenes/_thumb2/216346_10151483715269961_2029946791_n.jpg" alt="6" />
                            </div>
                            <div class="element photo img-corp big-format"  data-project="palo4" data-date="20100630">
                                <img src="http://www.mntdesign.co/uploads/imagenes/_thumb2/216346_10151483715269961_2029946791_n.jpg" alt="4" />
                            </div>
                            <div class="element photo pinned "  data-project="palo1" data-date="20110630">
                                <img src="http://www.mntdesign.co/uploads/imagenes/_thumb2/216346_10151483715269961_2029946791_n.jpg" alt="5" />
                            </div>
                            <div class="element photo img-corp"  data-project="palo4" data-date="20170630">
                                <img src="http://www.mntdesign.co/uploads/imagenes/_thumb2/216346_10151483715269961_2029946791_n.jpg" alt="9" />
                            </div>
                            <div class="element photo "  data-project="palo4" data-date="19990630">
                                <img src="http://www.mntdesign.co/uploads/imagenes/_thumb2/216346_10151483715269961_2029946791_n.jpg" alt="3" />
                            </div>
                        </div>
                    </div>  
                </div>
        </body>

感谢您给我的任何帮助!


编辑:

网络链接 http://www.mntdesign.co/?/main 这是链接rigth现在,即时测试,但我无法找到为什么这个错误

1 个答案:

答案 0 :(得分:1)

嗯,我想我已经确定了这个问题。我希望我仍能提供帮助!

问题是.affix类(特别是它的position:fixed)在滚动时动态添加到菜单中。在较大的屏幕上它看起来很好 - 但是当你使屏幕足够窄(767px或更小)时,它会触发Twitter Bootstrap的移动布局(通过媒体查询)。这是前面提到的position:fixed开始弄乱你的页面的时候。

移动布局导致包含图像的div扩展到100%,但这会导致它与菜单重叠,菜单具有固定的定位(将其从HTML的“流”中移除,并将其保持在同一位置滚动时在屏幕上 - 在图像下方,在这种情况下)。

要解决此问题,您可以使用自己的媒体查询来对抗.affix课程。

在主样式表中,您可以添加:

@media (max-width: 767px) {
    .affix{
        position:relative;
        margin-top:30px;
    }
}

这将导致您的菜单在滚动之前保持其位置 - 位于页面顶部并仍在其流程中,您可能需要它。

另外,在一个小调,我注意到你给了菜单div id="well sidebar-nav"。我怀疑这是一个错误......您可能希望将well移到菜单的类中。

好吧,我希望这有助于你解决问题,或者至少更好地理解它。祝你好运!