css经典全布局

水平居中布局

body{

<div id=”parent”>
<div id=”child”>水平居中布局<div>
<div>

}

1、inline-block(子)+text-align(父)

缺点:text-align具有继承性导致子集文本内容默认居中显示

 

#parent{

            background-color: palevioletred;
            width: 100%;
            height: 300px;
            text-align: center;
        }

  #child{
            background-color: papayawhip;
            display: inline-block;
            width: 200px;
            height: 100px;
        }

2、table(子)+margin(子)

缺点:如果子集元素脱离文档流(float,absolute,fixed),导致margin无效

#parent{
            background-color: palevioletred;
            width: 100%;
            height: 300px;
        }

 #child{
            background-color: papayawhip;
            margin: 0 auto;
            display: table;/*转换成块级元素*/
        }

3、relative(父开定位即可)+absolute(子)+transform(子) —>推荐

缺点:css3新增属性,浏览器支持性不好

#parent{
            background-color: palevioletred;
            position: relative;/*开定位即可fixed也行 */
            width: 100%;
            height: 300px;
        }
  #child{
            background-color: papayawhip;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
        }

垂直居中布局

1、table-cell(父)+vertical-aligh(父)

父:相当于单元格,子相当于其中的文本
缺点具有继承性

#parent{
            background-color: palevioletred;

            display:table-cell;//单行,多行的文本垂直居中

            vertical-align: middle;//把此元素放置在父元素的中部

            width: 100%;

            height: 300px;
        }

 #child{
            background-color: papayawhip;
        }

2、relative(父)+absolute(子)+transform(子)

父加定位即可fixed也可

#parent{
            background-color: palevioletred;
            position: fixed;
            width: 100%;
            height: 300px;
        }

 #child{
            background-color: papayawhip;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }

多列布局

一、两列布局

<body>
    <!-- 两列布局 -->
    <div id="left">两列布局左</div>
    <div id="right">两列布局右</div>
</body>

1.float+margin

#left{
           width: 200px;
           height: 300px;
           background-color:yellow;
           float:left;
       }
#right{
           height: 300px;
           background-color: purple;
           margin-left: 200px;
       }

2.float+overflow

overflow:hidden会开启BFC模式,当前元素的内部环境与外界完全隔离

#left{
           width: 200px;
           height: 300px;
           background-color:yellow;
           float:left;
       }
#right{
           h
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你正在学习 CSS 布局吗?是不是还不能完掌握纯 CSS 布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解 CSS 处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构, 然后再针对语义、结构添加 CSS。这篇文章将告诉你应该怎样把 HTML 结构化。 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该 转换成对应的什么 CSS 语句。当你解决了第一种问题,知道了如何结构化你的 HTML,我再给出一个列表,详细列出原来的表 现属性用什么 CSS 来代替。 结构化 HTML 我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用 Photoshop 或者 Fireworks 画出来、切割成小图。最后再通过编辑 HTML 将所有设计还原表现在页面上。 如果你希望你的 HTML 页面用 CSS 布局(是 CSS-friendly 的),你需要回头重来,先不考虑“外观”,要先思考你的页面 内容的语义和结构。 外观并不是最重要的。一个结构良好的 HTML 页面可以以任何外观表现出来,CSS Zen Garden 是一个典型的例子。CSS Zen Garden 帮助我们最终认识到 CSS 的强大力量。 HTML 不仅仅只在电脑屏幕上阅读。你用 photoshop 精心设计的画面可能不能显示在 PDA、移动电话和屏幕阅读机上。但 是一个结构良好的 HTML 页面可以通过 CSS 的不同定义,显示在任何地方,任何网络设备上。 开始思考 首先要学习什么是"结构",一些作家也称之为"语义"。这个术语的意思是你需要分析你的内容块,以及每块内容服务的 目的,然后再根据这些内容目的建立起相应的 HTML 结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值