两列布局,左边自适应,右边高度不定

布局如下图:

当content中内容小于页面高度时,占满整个页面;

当content中内容大于液面高度时,以内容高度为准。

test.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <link rel="stylesheet" href="height.css">
 6     <title>Title</title>
 7 </head>
 8 <body>
 9 <div class="container">
10     <div class="sidebar">sidebar</div>
11     <div class="content-right">
12         <div class="header">header</div>
13         <div class="content">
14             content
15         </div>
16         <div class="footer">footer</div>
17     </div>
18 </div>
19 </body>
20 <script src="height.js"></script>
21 </html>

test.css

* {
    padding: 0;
    margin: 0;
}
body {
    height: 100%;
}
.container {
    overflow: hidden;
}
.sidebar {
    width: 12.5%;
    float: left;
    margin-bottom: -9999px;
    padding-bottom: 9999px;
    background-color: red;
}
.content-right {
    margin-left: 12.5%;
}
.header {
    width: 100%;
    background-color: blue;
    height: 100px;
}
.content {
    width: 100%;
    background-color: green;
}
.footer {
    width: 100%;
    height: 50px;
    background-color: pink;
}

注意:一定要添加一个container包含所有内容,并添加overflow:hidden;否则会有9999px的空白。如果把overflow:hidden;添加到body上,页面将没有高度上的滚动条。

test.js

1 var _height = document.documentElement.clientHeight-150;
2 document.getElementsByClassName(‘content‘)[0].style.minHeight = _height + ‘px‘;
3 window.onresize = function() {
4     var _height = document.documentElement.clientHeight-150;
5     document.getElementsByClassName(‘content‘)[0].style.minHeight = _height + ‘px‘;
6 };

每当浏览器窗口大小改变的时候,重置一下页面内容的高度。

原文地址:https://www.cnblogs.com/ganlu/p/9235215.html

时间: 2024-08-29 20:09:30

两列布局,左边自适应,右边高度不定的相关文章

二列布局 左边固定宽度 右边响应

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>二列布局 左边固定宽度 右边响应</title> <style> html{ height: 100%; } body{ height: 100%; margin: 0; padding: 0; } .left{ width: 200px; heig

两列布局实现自适应的方法

注意的是:哪个div(即固定宽度的那个div)设置了浮动,哪个div标签放在html前面 两列布局,左侧div自适应,右侧div固定宽度: <div class="my-line"> <div class="line-right">北京京东尚科信技术司</div><!--右侧div宽度固定,所以设置了右浮动,放在前面--> <div class="line-left">所在公司:<

如何通过 CSS 实现一个左边固定宽度、右边自适应的两列布局

最近在百度 IFE 训练营中看见的一道题目: 用两种不同的方法来实现一个两列布局,其中左侧部分宽度固定.右侧部分宽度随浏览器宽度的变化而自适应变化  个人总结出如下三种实现思路: 通过绝对定位实现 See the Pen absolute-two-column by xal821792703 (@honoka) on CodePen. 注意点如下: 需要套一个“positioned”的父元素 div-a 绝对定位,并将位置调整为浏览器左上角 div-b margin-left 属性值为 div-

俩列布局(左边固定,右边自适应),等高布局,最小高度

俩列布局(左边固定,右边自适应): 1. <!DOCTYPE html> <html> <head> <title>俩列布局</title> <meta charset="utf-8"> <style type="text/css"> *{         margin: 0;         padding: 0;     } #left {         float: left

两列布局,左边div固定宽度,右边宽度自适应

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Cont

css两列布局,一边固定宽度,另一边自适应

<!DOCTYPE HTML><HTML>    <head>                <meta charset="utf-8" />        <title>css两列布局,一边固定宽度,另一边自适应</title>    </head>    <style>        a, body, center, cite, code, dd, del, div, dl, dt, e

两列布局中单列定宽单列自适应布局的5种思路

× 目录 [1]float [2]inline-block [3]table[4]absolute[5]flex 前面的话 说起自适应布局方式,单列定宽单列自适应布局是最基本的布局形式.本文将从float.inline-block.table.absolute和flex这五种思路来详细说明如何巧妙地实现布局 思路一: float 说起两列布局,最常见的就是使用float来实现.float浮动布局的缺点是浮动后会造成文本环绕等效果,以及需要及时清除浮动.如果各浮动元素的高度不同时,可能会出犬牙交错

css 两列布局中单列定宽单列自适应布局的6种思路

前面的话 说起自适应布局方式,单列定宽单列自适应布局是最基本的布局形式.本文将从float.inline-block.table.absolute.flex和grid这六种思路来详细说明如何巧妙地实现布局 float [思路一]float 说起两列布局,最常见的就是使用float来实现.float浮动布局的缺点是浮动后会造成文本环绕等效果,以及需要及时清除浮动.如果各浮动元素的高度不同时,可能会出犬牙交错的效果 [1]float + margin 将定宽的一列使用float,而自适应的一列使用计

两列布局(一列定宽,一列自适应)

用table+table-cell实现两列布局(一列定宽,一列自适应,且table是自动的两列自动登高) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 .pare

两列布局,一列定宽,一列宽度自适应

方法一: body{ margin: 0;}.container{ height: 300px; overflow: hidden;}.left{ width: 200px; height: 300px; background: red; position: absolute; left:0; top: 0;}.right{ margin-left:200px; width: 100%; height: 300px; background: green;} <div class="cont