最近在出差,就我一个在这里。客户要做几个页面,涉及到了页面的布局问题,没办法自己得做了。然后就遇到了一些问题。页面不论怎么都不能按照设想的布局。

以前也没有做过网页布局方面的工作。上网上找类似的例子,看的是一头雾水。最终决定自学CSS。

  在网上下载了一本电子书《CSS权威指南》第三版。用了3个钟头看完了这本书。看的时候专拣不知道的看。譬如CSS选择器(这些了,以前就知道,并且使用jQuery就是用的CSS的选择器)、盒子模型了等,所以这些就不看的。另外在学习时,根据CSS参考手册(下载网址:http://css.doyoe.com/)编写样式,再使用360浏览器(或者firebug)进行调试,很快就能明白其中奥妙。

  这3个钟头中,对CSS有了大致的了解,也明白了CSS布局是怎么回事了。下面我将影响CSS布局的3个重要的属性说说:

  (1)display 。在学习这个属性前,要明白CSS把元素主要分为两大类:块元素、行内元素。

    常用的块元素主要有:<div>、<p>、<ul>、<li>、<h1..7>等。换行显示。

    常用的行内元素有:<span>、<a>等。在同一行显示。

    块级元素和行内元素是可以相互转换的,就是通过display属性完成的。

    display可取的值有:

    displaynone | inline | block | list-item | inline-block | table | inline-table | table-caption | table-cell | table-row | table-row-group | table-column | table-column-group | table-footer-group | table-header-group 等等。

    但最重要的就是前三个。

      · none 表示不显示。

      · inline 表示作为行内元素显示。譬如<div>是个块元素,使用了这个属性值,就将和<span>一样了。

      · block 表示作为块元素显示。譬如<span>是行内元素,使用这个属性值,就和<p>一样了。

  

 (2)float 浮动

    在学习float前,得先明白什么是文档流。浏览器在解析html文档内容(这里不说css和javascript、是说单纯的html文档)时,是一流的方式解析的,反映到浏览器上,就是按照从左到右、从上到下的方式显示的。

    使用float属性后,元素会脱离文档流,按照指定的方式进行浮动。

    脱离文档流后,该元素后面的元素就会前移。占有该元素的位置,如果该与元素前的元素也浮动了,就会继续前移。

    float有left和right两种浮动方式。

   (3)position 定位

    使用position属性后,元素也会脱离文档流,按照指定的方式进行定位。

    position:static | relative | absolute | fixed 默认是static。

    relative是相对于祖先元素中,最近的是用position定位的元素,然后依据相对位置进行定位。

    absolute是相对于祖先元素中,最近的是用position定位的元素,然后依据相对位置进行定位。

    fixed是相对于<body>,我们看到的悬浮,就是使用这个值做出的效果。

理解了这3个属性后,我就写出来了一个5级的菜单,按照我希望的方式显示。然后顺利的完成了客户的几个页面。

CSS:布局的三个关键属性:float、position、display的更多相关文章

  1. CSS布局的三种机制

    浮动元素之间没有缝隙,这和行内块还是不一样的,有点区别的! 2) 浮动元素与兄弟盒子之间的关系 注意:解决浮动的四种办法,后三种都是针对浮动元素的父元素的.

  2. CSS传统布局之display属性+float属性+position属性

    这三个属性是传统网页布局中经常用到的属性. 读这篇文章之前,希望你对css布局模型已经有了一定的了解.因为本文的三个属性是和css三个布局模型紧密联系在一起的.因此,如若你并不了解,我推荐你先看一下c ...

  3. CSS 布局:40个教程、技巧、例子和最佳实践

    前言: 布局是WEB开发一个重要的课题,进入XHTML/CSS后,使用TABLE布局的方式逐渐淡出,CSS布局以众多优点成为主流,本文将介绍40个基于CSS的web布局的资源和教程.文章的出处在htt ...

  4. css 布局方式

    布局方式 1 布局:设置元素在网页中的排列方式及显示效果 2 分类: 1 标准流布局(文档流,普通流,静态流) 是默认的布局方式 特点:将元素按照书写顺序及元素类型,从上至下,从左至右排列 2 浮动布 ...

  5. CSS布局(下)

    1.CSS布局之浮动 1.1.float之图文混排 float的意思就是元素漂浮在上层. 可以直接通过设置float属性实现图文混排,代码如下: <div style="width:2 ...

  6. CSS布局:Float布局过程与老生常谈的三栏布局

    原文见博客主站,欢迎大家去评论. 使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloa ...

  7. 转:CSS布局:Float布局过程与老生常谈的三栏布局

    使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloat属性布局.前者适合布局首页,因为 ...

  8. CSS布局 ——从display,position, float属性谈起(转)

    CSS布局 ——从display,position, float属性谈起   页面布局,或者是在页面上做些小效果的时候经常会用到 display,position和float 属性,如果对它们不是很了 ...

  9. DIV+CSS布局问题:一个宽度不确定的DIV里面放三个水平对齐的DIV,左右两个DIV宽度固定为150px,中间那个DIV充满剩余的宽度

    一个入门的DIV+CSS布局问题:一个宽度不确定的DIV里面放三个水平对齐的DIV,左右两个DIV宽度固定为150px,中间那个DIV充满剩余的宽度. 说明:代码非真实情况下使用,所以直接简单. 没耐 ...

随机推荐

  1. 解决在android开发中ViewPager中Gallery无法滑动问题

    我的是在viewpager中某个fragment中有gallery... 导致无法滑动,网上找到解决方法. 自定义Gallery. 代码: import android.content.Context ...

  2. 泛函编程(27)-泛函编程模式-Monad Transformer

    经过了一段时间的学习,我们了解了一系列泛函数据类型.我们知道,在所有编程语言中,数据类型是支持软件编程的基础.同样,泛函数据类型Foldable,Monoid,Functor,Applicative, ...

  3. 新一代编程:scala泛函编程技术-唠叨

    准备了半年后,终于决定在这里开始我的scala编程技术学习体验撰写之旅.初步打算在这里把我学习.体验.掌握scala编程的过程与有兴趣的朋友分享.我想,虽然我这不是正式论文或者教课书之类的,但写个开场 ...

  4. 初学C++之自定义类型名简化

    说明:本人使用的是vc++ IDE:vs2013 我在自定义一些类时,有时会取一些很长的名字,但是这不利于使用,这个时候就可以使用类型名简化. class MathAddBBBB { }; using ...

  5. 高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-2 发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  6. DOM相关知识点以及原型

    DOM(增删改查): 查询 1.获取元素 1.1标准DOM API document.getElementById document.getElementsByTagName document.get ...

  7. 自己总结的web前端知识体系大全【欢迎补充】

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  8. Node.js+Express配置入门

    Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度非常快,性能非常好.Node.js对一些特殊用 ...

  9. C#实现类似"hello $world"的格式化字符串方法

    C#自带的string.Format可以格式化字符串,但是还是不太好用,由于格式的字符占位符都是数字,当数目较多时容易混淆.其实可以扩展string的方法,让C#的字符串具备其他的方法,下面介绍一个实 ...

  10. Hover States - 有趣的用户界面及交互设计

    Hover States 一组新潮的和有趣的用户界面和交互设计的集合.Hover States 的目标是要成为设计师和开发人员灵感来源,向人们展示目前人们正在做的各种网站中令人惊奇的效果.他们认为交互 ...