Element outside container without creating scrollbars

风格不统一 提交于 2019-12-22 08:38:10

问题


Can I make a banner reach outside of its container, without creating horizontal scrollbars if the window is too narrow?

I thought I had done this before with negative margins, but can't get it to work now.

Demo: http://jsfiddle.net/Znarkus/s95uz/

<div id="main">
    <div id="banner">I want this to not create a horizontal scrollbar, when the window/frame is too narrow.</div>
    <div id="content">

    </div>
</div>


回答1:


You can use a container that has a min-width of 500px or width 100% depending on if you want a scroll bar or none at all; add position relative, and overflow hidden and then inside of that add another container that is your set width of 500px with a margin of auto for the left and right. Put your content inside of the inner container using position absolute; in this case your #banner would be right: -50px;

I've modified your fiddle here: http://jsfiddle.net/s95uz/14/

<style type="text/css">
#main {
min-width:500px;
margin: 0 auto;    
position: relative;
overflow: hidden;
}
#inside{
width:500px;
margin:0 auto;
height:100%;
position:relative;
background: red;
}
#banner {
background: green;
position: absolute;
right: -50px;
width: 150px;
height: 300px;
}
#content {
width: 400px;
height: 500px; /* Simulate content */
background: blue;
}
</style>

<div id="main">
   <div id="inside">
      <div id="banner">
    I want this to not create a horizontal scrollbar, when the window/frame is too narrow.</div>    
      <div id="content"></div>
   </div>
</div>



回答2:


You can use responsive CSS and hide the banner when the content plus the banner are higher than the viewport:

@media only screen and (max-width: 550px) {
        #banner { display: none;}
    }



回答3:


Just add overflow : hidden to the div "main" css.

Adding this to an element hides the possible conditional sidebars.

Your new css will look like;

#main {
    width: 500px;
    margin: 0 auto;
    background: red;
    position: relative;
    overflow:hidden;
}


来源:https://stackoverflow.com/questions/13326111/element-outside-container-without-creating-scrollbars

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!