Cri*_*ian 10 css layout css-float responsive-design
我有一个大多固定的2列布局:
我想让它成为一个响应式设计,所以在较小的屏幕尺寸中,第二列在第一列的下方结束.这意味着第二列的HTML必须位于第一列之后.
我的问题是,当使用该标记时,我似乎无法正确地浮动右列.它最终浮动,但低于主要内容.
这是一个示例代码:
HTML:
<div class='content'>
sdaohdosahdaf
<br />adfafhaskldjs sgdafadkfjas
<br />saodfhdpaofa]sdoas [fdf asfasfjasfdkasfad;sdlafa dfasds dad gad</div>
<div class='sidebar'>
daobfhaohfasod agsdjfa
<br />sidjaofhad
<br />sojghfadpfjas
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.content {
background-color: lightblue;
margin-right: 120px;
}
.sidebar {
float: right;
width: 120px;
background-color: lightgreen;
}
Run Code Online (Sandbox Code Playgroud)
JS在这里小提琴:http://jsfiddle.net/zinkkrysty/U3fA8/
我也试过使用负边距,但似乎无法做到.
如果您有任何其他方法解决我的问题(除了在第一列设置宽度),请试一试
小智 5
将它们放入父级并将侧栏的位置设置为绝对位置,然后为响应式显示使用不同的样式集
HTML
<div class="parent">
<div class='content'>
sdaohdosahdaf
<br />adfafhaskldjs sgdafadkfjas
<br />saodfhdpaofa]sdoas [fdf asfasfjasfdkasfad;sdlafa dfasds dad gad
</div>
<div class='sidebar'>
daobf haohf asod agsdjfa
<br />sidja ofhad
<br />sojgh fadpfjas
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.parent {
position: relative;
}
.content {
background-color: lightblue;
margin-right: 120px;
}
.sidebar {
position: absolute;
top: 0px;
right: 0px;
width: 120px;
background-color: lightgreen;
}
/* Responsive bit */
@media only screen and (max-width: 320px) {
.content {
background-color: orange;
margin-right: 0px;
}
.sidebar {
background-color: red;
position: relative;
width: 100%;
}
}
Run Code Online (Sandbox Code Playgroud)