左右固定,中间自适应布局,中间栏优先加载

html代码:

<div id="left">左边栏</div>
<div id="right">右边栏</div>
<div id="main">主内容</div>

方法一:利用绝对定位方法(不推荐)

css部分:

body {margin: 0;padding: 0; height: 100%;}
#left,#right {position: absolute; top:0; width: 220px; height: 100%;background:pink;}
#left {left: 0;}
#right { right:0;}
#main {margin: 0 230px; height: 100%;}

这种方法是最简单,也是麻烦最多的,如果中间栏含有最小宽度限制,或是含有宽度的内部元素,当浏览器宽度小到一定程度,会发生层重叠的情况。

方法二:采用的是浮动布局

css部分:

#left,#right { float: left; width: 220px; height: 200px; background: blue;}

#right { float: right;}

#main { margin: 0 230px;background: red; height: 200px;}

这种方法我利用的就是浮动原理,左右定宽度分别进行左浮动和右浮动,此时主内容列(中间列没有定度)主会自动插入到左右两列的中间,最要注意的一点是,中间列一定要放在左右两列的后面

方法三:margin方法

css部分:

#left{ width:200px; float:left;margin-right:-200px; color: rgb(51, 51, 51); line-height: 25.2000007629395px;">#main{ width:auto;background:#00FF00;margin:0 220px;}

#right{ width:200px;margin-left:-200px; float:right; color: rgb(51, 51, 51); line-height: 25.2000007629395px;">左右设置后,使用margin

方法四:个人感觉最简单方法:

css部分:

#left{ width:200px; float:left;}

#mid{ width:auto;}

#right{ width:200px; float:right;}

中间使用width:auto;左右分别左右浮动

方法五:实现中间栏优先加载(重要部分优先加载)

html部分:

<div class="main-2">

<div class="main-wrap-2">main-wrap</div>

</div>

<div class="sub-2">sub</div>

<div class="extra-2">extra</div>

css部分:

.main-2{ float:left; width:100%;margin-bottom:-3000px; padding-bottom:3000px;background:#F90;}

.main-wrap-2{  margin:0 200px 0 150px;  }

.sub-2{ float:left; margin-left:-100%; width:150px; background:#6C0; margin-bottom:-3000px; padding-bottom:3000px;}

.extra-2{ float:left; margin-left:-200px; width:200px; background:#F9F; margin-bottom:-3000px; padding-bottom:3000px;}

优先加载关键在于重要内容在html里面必须在前面,所有main部分移到了最上面

较完整内容可以参考——双飞翼布局:

<style type="text/css">
            *{ margin:0; padding:0px;}
            .header{ background:#666; text-align:center;}
            .body{ overflow:hidden;*zoom:1;}
            .wrap-2{ margin-top:30px;}
            .wrap-2 .main-2{ float:left; width:100%;margin-bottom:-3000px; padding-bottom:3000px;background:#F90;}
            .wrap-2 .main-wrap-2{  margin:0 200px 0 150px;  }
            .wrap-2 .sub-2{ float:left; margin-left:-100%; width:150px; background:#6C0; margin-bottom:-3000px; padding-bottom:3000px;}
            .wrap-2 .extra-2{ float:left; margin-left:-200px; width:200px; background:#F9F; margin-bottom:-3000px; padding-bottom:3000px;}
            .footer{ background:#666; text-align:center;}
        </style>

<div class="wrap-2">
            <div class="header">Header</div>
            <div class="body">
                <div class="main-2"><div class="main-wrap-2"><p>main-wrap</p><p>main-wrap</p></div></div>
                <div class="sub-2"><p>sub</p><p>sub</p><p>sub</p></div>
                <div class="extra-2"><p>extra</p><p>margin-left:350px; background:#CC0;margin-left:350px; background:#CC0;</p></div>
            </div>
            <div class="footer">Footer</div>
        </div>

方法六:中间栏优先加载,采用css3 方法:

[html]<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>自适应宽度,左右两栏固定宽度,中间栏优先加载</title>
<style>
.container{
        display:-moz-box;
        display:-webkit-box;
        }
div{
        padding:10px;
        -moz-box-sizing:border-box;
        -webkit-box-sizing:border-box;                
        }        
.sider_l{
        width:250px;
        -moz-box-ordinal-group:1;
        -webkit-box-ordinal-group:1;                
        background:limegreen;
        }
.middle_content{
        -moz-box-flex:1;
        -webkit-box-flex:1;
        -moz-box-ordinal-group:2;
        -webkit-box-ordinal-group:2;
        background:lightpink;                
        }        
.sider_r{
        width:250px;
        -moz-box-ordinal-group:3;
        -webkit-box-ordinal-group:3;                
        background:green;                
        }                        
</style>
</head>

<body>
        <div class="container">
            <div class="middle_content">优先加载主内容区</div>
        <div class="sider_l">左边栏</div>
                <div class="sider_r">右边栏</div>            
    </div>
</body>
</html>
[/html]

方法七:中间栏优先加载position:absolute方法

<style type="text/css">
html,body{width:100%;height:100%;margin:0;padding:0;}
.content{width:100%;height:100%;position:relative;background:#CFF;overflow:hidden;}
.left{width:200px;height:100%;background:#0F0;position:absolute;z-index:1001;top:0;left:0;}
.center-ct{height:100%;background:#60F;position:absolute;z-index:900;top:0;left:0;margin:0;width:100%;}
.center{margin:0 200px;}
.right{width:200px;height:100%;background:#FF0;position:absolute;z-index:1000;right:0;top:0;}
</style>
</head>

<body>
<div class="content">
<div class="center-ct">
    <div class="center">
    center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center center
    </div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>

时间: 2024-07-30 18:21:29

左右固定,中间自适应布局,中间栏优先加载的相关文章

如何实现:左右固定,中间自适应布局,中间栏优先加载?

1 html代码: 2 3 <div id="left">左边栏</div> 4 <div id="right">右边栏</div> 5 <div id="main">主内容</div> 6 7 方法一:利用绝对定位方法(不推荐) 8 9 css部分: 10 11 body {margin: 0;padding: 0; height: 100%;} 12 #left,#rig

上面固定下边自适应布局

<!DOCTYPE HTML><html><head><meta charset="gb2312"><title>头尾固定中间高度自适应布局</title><style>html, body { height:100%; margin:0; padding:0}#dHead { height:100px; line-height:100px; background:#690; width:100%; p

改变html结构可以实现优先加载

我们通过一个实例来看一下: 本编程题目,完成一个混合布局的编写吧!最终效果如下图: 任务 任务1:完成顶部(top).底部(foot)宽度自适应 任务2:中间分为2两栏,其中,左侧(left)宽度为200px, 右侧(right)宽度自适应 任务3:要求右侧(right)先加载,左侧(left)后加载 任务4:编写的代码要兼容ie6 css代码: <title>混合布局编程挑战</title> <style type="text/css"> body

Android四大组件之Activity(活动)及其布局的创建与加载布局

Android四大组件之Activity(活动)及其布局的创建与加载布局 什么是Activity ? 活动(Activity)是包含用户界面的组件,主要用于和用户进行交互的,一个应用程序中可以包含零个或多个活动. 手动创建Activity的过程详解 到现在为止,你还没有手动创建过活动呢,在第一个安卓工程中,HelloWorldActivity是ADT帮我们创建的,手动创建活动可以加深我们的理解,因此现在是时候应该自己动手了. 首先,你需要再新建一个 Android 项目,项目名可以叫做 Acti

布局还能异步加载?AsyncLayoutInflater一点小经验送给你

目录 前言 关于布局加载的两大性能瓶颈,通过IO操作将XML加载到内存中并进行解析和通过反射创建View.当xml文件过大或页面文件过深,布局的加载就会较为耗时.我们知道,当主线程进行一些耗时操作可能就会导致页面卡顿,更严重的可能会产生ANR,所以我们能如何来进行布局加载优化呢?解决这个问题有两种思路,直接解决和侧面缓解.直接解决就是不使用IO和反射等技术(这个我们会在下一节进行介绍).侧面缓解的就是既然耗时操作难以避免,那我们能不能把耗时操作放在子线程中,等到inflate操作完成后再将结果回

关于Weblogic优先加载jar包的设置

<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app> <container-descriptor>  <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor></weblogic-web-app> weblogic.xml 放到

CSS百分比padding实现比例固定图片自适应布局 (转载)

一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比值不一样. 这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说明,这里不展开. 对于padding属性而言,任意方向的百分比padding都现对于宽度计算可以让我们轻松实现固定比例的块级容器,举个例子,假设现在有个<div>元素: div { padding: 50%; } 或者: di

CSS百分比padding实现比例固定图片自适应布局

本文转自 张鑫宇(大神的很多文章都拜读过,写的很好,清晰明了,赞)的 https://www.zhangxinxu.com/wordpress/2017/08/css-percent-padding-image-layout/ 一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比值不一样. 这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说

【Android】纯代码创建页面布局(含异步加载图片)

开发环境:macOS 10.12 + Android Studio 2.2,MinSDK Android 5.1 先看看总体效果 本示例是基于Fragment进行的,直接上代码: [界面结构] 在 Fragment 中,采用 ScrollView + LinearLayout 实现. 1 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http:/