HTML + CSS 经典布局

HTML 代码:

<div class="i-box clearfix">
        <div class="layout-l clearfix">
            <div class="i-left">
                <p>左侧定宽</p>
            </div>
            <div class="i-right">
                <p>右侧自适应</p>
            </div>
        </div>
    </div>

    <div class="i-box clearfix">
        <div class="layout-r clearfix">
            <div class="i-right">
                <p>右侧定宽</p>
            </div>
            <div class="i-left">
                <p>左侧自适应</p>
            </div>
        </div>
    </div>

    <div class="i-box clearfix">
        <div class="layout-both clearfix">
            <div class="i-left">
                <p>左侧定宽</p>
            </div>
            <div class="i-right">
                <p>右侧定宽</p>
            </div>
        </div>
    </div>

    <div class="i-box clearfix">
        <div class="layout-three clearfix">
            <div class="i-left">
                <p>左侧定宽</p>
            </div>
            <div class="i-right">
                <p>右侧定宽</p>
            </div>
            <div class="i-mid">
                <p>中间自适应</p>
            </div>
        </div>
    </div>

    <div class="i-box clearfix">
        <div class="layout-three-ll">
            <div class="i-left">
                <p>左侧定宽</p>
            </div>
            <div class="i-mid">
                <p>左侧定宽</p>
            </div>
            <div class="i-right">
                <p>右侧自适应</p>
            </div>
        </div>
    </div>

    <div class="i-box clearfix">
        <div class="layout-three-rr">
            <div class="i-mid">
                <p>右侧定宽</p>
            </div>
            <div class="i-right">
                <p>右侧定宽</p>
            </div>
            <div class="i-left">
                <p>左侧自适应</p>
            </div>
        </div>
    </div>

之前是用less写的样式,可能用起来会灵活一些,在这里提供less和CSS两个版本

Less 代码:

/* @base-width 容器宽度 可以为 px 或 百分比 */
@base-width: 100%;
/*
 * @fix-width-l  左侧固定宽度 可以为 px 或 百分比
 * @fix-width-r  右侧固定宽度 可以为 px 或 百分比
 */
@fix-width-l: 300px;
@fix-width-r: 300px;
@bg-color1: blue;
@bg-color2: red;
@bg-color3: green;

.i-box{
    width: @base-width;
    margin: 10px auto;
}
//  左侧定宽, 右侧自适应
.layt1(@f-width,@color1,@color2){
    > .i-left {
      float: left;
      width: @f-width;
      background-color: @color1;
    }
    > .i-right{
      overflow: auto;
      background-color: @color2;
    }
}
//  右侧定宽, 左侧自适应
.layt2(@f-width,@color1,@color2){
  > .i-right {
    float: right;
    width: @f-width;
    background-color: @color1;
  }
  > .i-left{
    overflow: auto;
    background-color: @color2;
  }
}
//  右侧定宽, 左侧定宽
.layt3(@f-width-l,@f-width-r,@color1,@color2){
  > .i-left {
    float: left;
    width: @f-width-l;
    background-color: @color1;
  }
  > .i-right{
    float: right;
    width: @f-width-r;
    background-color: @color2;
  }
}
// 左右定宽中间自适应
.layt-thr-1(@fix-width-l,@fix-width-r,@color1,@color2,@color3){
    .i-left{
      float: left;
      width: @fix-width-l;
      background-color: @color1;
    }
    .i-mid{
      margin-left: @fix-width-r + 10px;
      margin-right: @fix-width-l + 10px;
      background-color: @color2;
      overflow: auto;
    }
    .i-right{
      float: right;
      width: @fix-width-r;
      background-color: @color3;
    }
}

.layt-thr-2(@fix-width1,@fix-width2,@color1,@color2,@color3){
  .i-left{
    float: left;
    width: @fix-width1;
    background-color: @color1;
  }
  .i-mid{
    float: left;
    width: @fix-width2;
    background-color: @color2;
  }
  .i-right{
    margin-left: @fix-width1 + @fix-width2;
    background-color: @color3;
  }
}

.layt-thr-3(@fix-width1,@fix-width2,@color1,@color2,@color3){
  .i-left{
    margin-right: @fix-width1 + @fix-width2;
    background-color: @color3;
  }
  .i-mid{
    float: right;
    width: @fix-width2;
    background-color: @color2;
  }
  .i-right{
    float: right;
    width: @fix-width1;
    background-color: @color1;
  }
}

.layout-l{
  color: white;
  line-height: 30px;
  .layt1(@fix-width-l,@bg-color1,@bg-color2);
}

.layout-r{
  color: white;
  line-height: 30px;
  .layt2(@fix-width-r,@bg-color1,@bg-color2);
}

.layout-both{
  color: white;
  line-height: 30px;
  .layt3(500px,700px,@bg-color1,@bg-color2);
}

.layout-three{
  color: white;
  line-height: 30px;
  .layt-thr-1(@fix-width-l,@fix-width-r,@bg-color1,@bg-color2,@bg-color3);
}

.layout-three-ll{
  color: white;
  line-height: 30px;
  .layt-thr-2(200px,200px,@bg-color1,@bg-color2,@bg-color3);
}

.layout-three-rr{
  color: white;
  line-height: 30px;
  .layt-thr-3(200px,200px,@bg-color1,@bg-color2,@bg-color3);
}

CSS代码:

.i-box {
    width: 100%;
    margin: 10px auto;
}
.layout-l {
    color: white;
    line-height: 30px;
}
.layout-l > .i-left {
    float: left;
    width: 300px;
    background-color: #0000ff;
}
.layout-l > .i-right {
    overflow: auto;
    background-color: #ff0000;
}
.layout-r {
    color: white;
    line-height: 30px;
}
.layout-r > .i-right {
    float: right;
    width: 300px;
    background-color: #0000ff;
}
.layout-r > .i-left {
    overflow: auto;
    background-color: #ff0000;
}
.layout-both {
    color: white;
    line-height: 30px;
}
.layout-both > .i-left {
    float: left;
    width: 500px;
    background-color: #0000ff;
}
.layout-both > .i-right {
    float: right;
    width: 700px;
    background-color: #ff0000;
}
.layout-three {
    color: white;
    line-height: 30px;
}
.layout-three .i-left {
    float: left;
    width: 300px;
    background-color: #0000ff;
}
.layout-three .i-mid {
    margin-left: 310px;
    margin-right: 310px;
    background-color: #ff0000;
    overflow: auto;
}
.layout-three .i-right {
    float: right;
    width: 300px;
    background-color: #008000;
}
.layout-three-ll {
    color: white;
    line-height: 30px;
}
.layout-three-ll .i-left {
    float: left;
    width: 200px;
    background-color: #0000ff;
}
.layout-three-ll .i-mid {
    float: left;
    width: 200px;
    background-color: #ff0000;
}
.layout-three-ll .i-right {
    margin-left: 400px;
    background-color: #008000;
}
.layout-three-rr {
    color: white;
    line-height: 30px;
}
.layout-three-rr .i-left {
    margin-right: 400px;
    background-color: #008000;
}
.layout-three-rr .i-mid {
    float: right;
    width: 200px;
    background-color: #ff0000;
}
.layout-three-rr .i-right {
    float: right;
    width: 200px;
    background-color: #0000ff;
}
时间: 2024-10-09 00:54:57

HTML + CSS 经典布局的相关文章

css经典布局之左侧固定大小右侧自动适应

最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的APP,进入商家的时候,会出现一堆饭的列表,左侧是饭的分类,右侧是饭的列表等等.反正挺实用,值得收藏! 先看HTML代码 <!doctype html> <html> <head> <meta charset="utf-8"> <meta name="description" co

css经典布局——头尾固定高度中间高度自适应布局

今天说说一个经典布局:头尾固定高度中间高度自适应布局! 转文请标明 --- 出处:穆乙 http://www.cnblogs.com/pigtail/ 相信做过后台管理界面的同学,都非常清楚这个布局.最直观的方式是框架这个我不想多写费话,因为我们的重心不在这里.如果有不了解的同学可以百度.google.这里我不得不吐下槽!! 百度实在让我这个“粉丝”失望.就目前情况来说,百度已经完全轮为“有钱人排行榜”!再也不顾及用户的搜索需求了,因为主导地位实在是:不可撼动! 不相信的同学,可以亲身对比下B

CSS经典布局

版心和布局流程 阅读报纸时容易发现,虽然报纸中的内容很多,但是经过合理地排版,版面依然清晰.易读.同样,在制作网页时,要想使页面结构清晰.有条理,也需要对网页进行“排版”. “版心”(可视区) 是指网页中主体内容所在的区域.一般在浏览器窗口中水平居中显示,常见的宽度值为960px.980px.1000px.1200px等. 1 布局流程 为了提高网页制作的效率,布局时通常需要遵守一定的布局流程,具体如下: 1.确定页面的版心(可视区). 2.分析页面中的行模块,以及每个行模块中的列模块. 3.制

css经典布局学习

. 布局 布局是css的重头戏,每个系统的布局都有其各自的特点.无好无坏,肯定是各有优缺点,不妨拿出几个比较典型的例子来一起分析一下.例如: 经典三列布局 Bootstrap栅格布局 百度首页布局 微博布局 人人网布局 瀑布流布局 好好研究下这些代码

CSS经典布局之弹性布局

当我们在浏览浏览器的时候,经常会放大/缩小浏览器的显示比例,或者在不同的设备上.所处的分辨率也不尽同样. 因此.我们须要学习一个新的知识:弹性盒模型. 弹性盒模型 实现项目对齐,方向,排序(即使项目大小位置动态生成),可以动态改动子元素的宽度和高度.具有良好的适配性. 如图就是弹性布局一个大概范围. 弹性容器属性 属性 说明 flex-direction 设置主轴方向.确定弹性子元素排列方式 flex-wrap 当弹性子元素超出弹性容器范围是是否换行 flex-flow 复合属性.flex-di

CSS 经典三列布局

一 圣杯布局 1 html结构 <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="css/css.css"> </head> <body> <div class="header">头部<

html+css页面布局

http://blog.csdn.net/mercop/article/details/7882000 HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理解盒子模型 实现DIV+CSS整体布局 2.什么是W3C标准? W3C:World Wide Web Consortium,万维网联盟    W3C的职能:负责制定和维护Web行业标准    W3C标准包括一系列的标准: HTML内容方面:XHTML 样式美化方面:CSS 结构文档访问方面:DOM 页面

CSS常见布局问题整理

实现div的水平居中和垂直居中 多元素水平居中 实现栅格化布局 1. 实现div的水平居中和垂直居中 实现效果: 这大概是最经典的一个题目了,所以放在第一个. 方法有好多, 一一列来 主要思路其实就是 使用position,相对父元素做绝对定位(设置百分比[由父元素宽高调节子元素大小]/设置margin和相对位置(确定宽高)) 使用flex属性 使用tranfrom做相对位移的调节 1) 只适用: 宽高已定 设置position: absolute(父元素记得设置: relative), 然后t

CSS 圣杯布局

前端的两个经典布局想必大家都有多了解--圣杯布局和双飞翼布局,因为它既能体现你懂HTML结构又能体现出你对DIV+CSS布局的掌握. 事实上,圣杯布局其实和双飞翼布局是一回事.它们实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应,也就是我们常说的固比固布局.它们实现的效果是一样的,差别在于其实现的思想. 通过缩放页面就可以发现,随着页面的宽度的变化,这三栏布局是中间盒子优先渲染,两边的盒子框子固定不变,即使页面宽度变小,也不影响我们的浏览.注意:当你缩放页面的时候,宽度不能小于700PX,