HTML最难的地方来了!这个我反复了很多遍, 包括现在写博客, 也对我自己算是一种温习, 我这块怕是没办法写的很好懂, 因为我自己还不能把我学到的准确通俗易懂的表达出来, 给自己记个笔记, 以后再来一点一点的改, 新手可以看看, 对于初学这块的人应该还是有点帮助的.

  CSS布局模型

  以下全部是个人初学HTML的一点理解, 哪里错了欢迎指正, 我也会改, 因为全程自学, 只能摸着石头过河, 拜托大神们了.

  CSS布局模型在我看来是和盒模型一样的最核心的概念, 但是布局模型是依托盒模型的, 它并不是准确意义上的布局样式或者是布局模板, 再通俗点说, CSS布局模型就是外在看到的样子, 而且他不是你看看书就能懂的, 而是需要多多的练习,

  布局模型主要有三种:

    1, 流动模型(Flow)

    2, 浮动模型(Float)

    3, 层模型(Layer)

  流动模型, 是默认的网页布局模式. 网页在默认状态下的HTML网页元素都是根据流动模型来分布网页内容的.

  特点: 块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布, 因为在默认状态下, 块状元素的宽度都为100%, 实际上块状元素都会以行的形式占据位置, 而内联元素都在在所处的包含元素内从左到右水平分布显示, 这基本上等同于对前面块级元素和内联元素的特性又做了一次总结.

  浮动模型

  浮动模型在我理解中也就是打破了Flow的一切规则, 它不再遵循流动模型的一切规则, 以一种自定义的方式将块级元素和内嵌元素重新布局. 默认下都是不浮动的, 但是可以定义为浮动, 只需要在CSS样式表中加入float这个属性, 代码示例:

  div{

    float:left;

    }

  这句话的意思就是将这个<div>块级元素设置为左浮动, 这个时候这个块级元素也不再具有块级元素的那些独占一行, 元素宽度等等特点了, 也就是当设置为float的那一刻, 块级和内嵌的特性就都消失了.

  层模型(这个可以讲一天)

  层布局模型在我看来就好像多个重叠的层级结构, 你通过代码对每个层级的位置进行精确控制, css定位了一组定位属性来支持布局模型, 这个我自己理解的也并没那么透彻所以只简单说说, 大家有兴趣的去百度百度看看别人的博客, 我个人理解必然不如人家, 只能说给自己写个学习笔记而已.

  层模型的三种形式:

    1, 绝对定位(position:absolute)

    2, 相对定位(position:relative)

    3, 固定定位(position:fixed)

  1, 绝对定位

  下面完全不用书本上那种严谨的语言, 用我自己的理解给大家说, 绝对的意思就是, 一个层级放在另一个层级上面, 也就是一块放在另一块上, 子层级在父层级上面的精确坐标就是绝对定位, 给它一个绝对的值让他不会乱动, 同样的, 父层级移动了, 子层级也会跟着动, 也就是说这两个相对的层级用绝对的布局拴住了, 学习这你就使劲的敲就行了. 同时给大家一点层级的概念, <body>里面有各种块, 比如<div>, 那么一块<div>就可以理解为一个层级, 你对这个<div>的属性做设置, 绝对定位, 那么<div>就和<body>栓死了, 同样的<div>里面有一个<p>, <p>也设置绝对定位, 这个时候<p>的层级就是相对<div>了, <div>动, <p>也会在<div>里面乖乖的跟着走, 综上, 这就是绝对定位!

  代码示例下

  div{

    width:200px;

    heigth:300px;

    border:2px red solid;

    position:absolute;

    left:100px;

    top:50px;

    }

  p{

    position:absolute;

   }

  这个时候<p>是<div>内部标签的话, <p>相对<div>就已经锁死了, 那么这个时候我们修改p样式表, 修改p在布局中的位置, 比如用盒子模型修改外间距, 修改p在div中的布局, 然后再去修改div的布局, 会发现p的层级还会在div上, 紧紧的困在一起了. 感觉这种布局应该是最常用的.

  2, 相对定位

  相对定位首先是将这一层级, 类似float方式浮动起来, 然后通过设置left, right, top, bottom属性来确定这一层级相较于自己原本的位置, 但是这一层级本质上还是在原来那里, 也就可以理解为视觉看到的是一个投影, 它本来还在那呢, 所以相对定位是不会影响其他位置元素的布局的, 因为它是单独浮动出来的. 这个不太好理解, 需要大家自己多写多练. 感觉这种布局应该是那种动画什么的很常用, 或者弹出的窗口? 我不确定啊, 不太敢说了.

  3, 固定定位

  这个好解释效果, 平常看网站那些小广告, 右下角啥的, 你划着屏幕, 他就在那里, 不上不下, 这个效果就是固定定位, 它的定位并不是跟着布局走的, 而是跟着相对浏览器走的. 严谨一点的说法是, 它的相对移动的坐标是网页窗口本身. 由于视图本身是固定的, 它不会随浏览器窗口的滚动条滚动而变化, 除非你在屏幕中移动浏览器窗口的屏幕位置, 或改变浏览器窗口的显示大小, 因此固定定位的元素会始终位于浏览器窗口内视图的某个位置, 不会受文档流动影响, 这与background-attachment:fixed;(定义背景图片随滚动轴的移动方式)属性功能相同. 这个也不多介绍了, 和相对定位一样, 多写就好了.

  这三种定位方式是可以混在一起用的, 比如父元素用绝对定位, 子元素用相对定位等等, 是可以很灵活的布局的, 学第一遍可能会懵, 第二遍会好一点, 第三遍基本就能懂了, 我学东西也是这个原则, 一个东西要学三遍才可以算是学了.

熟悉HTML CSS布局模型的更多相关文章

  1. 浅析css布局模型1

    css是网页的外衣,好不好看全凭css样式,而布局是css中比较重要的部分,下面来分析一下常见的几种布局. 流动模型 流动模型是网页布局的默认模式,也是最常见的布局模式,他有两个特点: 1.块状元素都 ...

  2. HTML+CSS学习笔记 (12) - CSS布局模型

    标签:HTML+CSS css布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是 ...

  3. 从零开始学习前端开发 — 6、CSS布局模型

    一.css布局模型 1.流动模型(Flow) 元素在不设置css样式时的布局模型,是块元素就独占一行,是内联元素就在一行逐个进行显示 2.浮动模型(Float) 使用float属性来进行网页布局,给元 ...

  4. 从零开始学习html(十二)CSS布局模型——上

    一.css布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了. 布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之 ...

  5. CSS布局模型学习

    转自:http://www.cnblogs.com/erliang/p/4092192.html CSS布局模型学习   参考链接慕课网:HTML+CSS基础课程 知识基础 1. 样式 内联 嵌入 外 ...

  6. CSS 布局模型

    css布局模型 布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上.又不同于我们常说的 CSS 布局样式或 CSS 布局模板.假设说布局模型是本.那么 CSS ...

  7. 前端之CSS布局模型

    一.css布局模型: 流动模型(Flow) 浮动模型(Float) 层模型(Layer) 1.流动模型: 页面在没有设置任何css样式,元素按照本身的特性在浏览器中显示,这样的布局模型称为流动模型: ...

  8. html学习第三天—— 第12章——css布局模型

    清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又不同于我们常说的 ...

  9. css布局模型

    ---恢复内容开始--- 在清楚了CSS盒模型的基本概念,盒模型类型,我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是CSS最基本,最核心的概念.但布局模型是建立在盒型基础之上,又不同 ...

随机推荐

  1. 浅析inline-block--使用inline-block创建布局

    inline-block前端程序猿们肯定不陌生,它是display属性的一个取值. 之所以称之为inline-block.是因为它兼具行内元素(inline-element)和块级元素(block-e ...

  2. JavaSE高级之GUI编程

    下面主要用到了java中的swing进行界面设计,当然java的GUI不如C#的设计的好看,不过原理还是要会的. 1. GUI Graphical User Interface 用户图形界面 a) 主 ...

  3. HTML5 Audio/Video 标签,属性,方法,事件汇总

    HTML5 Audio/Video 标签,属性,方法,事件汇总 (转) 2011-06-28 13:16:48   <audio> 标签属性:src:音乐的URLpreload:预加载au ...

  4. Using Headless Mode in the Java SE Platform--转

    原文地址: By Artem Ananiev and Alla Redko, June 2006     Articles Index This article explains how to use ...

  5. OO中,先有对象还是先有类?

    就是问,在面向对象思想里,先有对象还是先有类,乍一看和先有鸡蛋还是先有鸡是一类问题,其实不然!这个问题,在lz考研复试的时候被面试官问过,一模一样,如今又在一个笔试题里看到了类似的题目,眨一下,有人会 ...

  6. 简述.NET事务应用原则

    .NET事务应用原则 1.在同一个数据库内进行CRUD时,应使用同一个DbConnection对象,且显式指定DbConnection均为同一个DbTransaction,示例代码如下: //在同一个 ...

  7. Xamarin.Android之布局文件智能提示问题

    一.前言 看到有人问关于xamarin.android的布局没智能提示问题(VS 2015),当然,写布局这东西没提示这是一件相对痛苦的事 ,所以这里就提供一个解决的方案! 二.解决方案 想要智能提示 ...

  8. [WCF编程]6.绑定行为

    一.绑定行为概述 为了支持服务端的其它本地特性,WCF定义了行为的概念.行为就是服务的本地特性,不会影响服务的通信模式.客户端并不知道服务端行为,所以行为不会出现在服务的绑定和发布的元数据中.说下WC ...

  9. Python默认版本修改

    Python默认版本修改 当电脑安装了多个版本的Python,而Shell中默认的Python不是你想要的,这个时候就需要对Python的默认版本进行修改. 在Windows中,可以通过修改环境变量的 ...

  10. C#中HashTable的用法

    一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中 ...