1.什么是CSS盒模型

我们的网页就是通过一个一个盒子组成的。

2.一个盒子拥有的属性:宽和高(width和height)、内边距(padding)、边框(border)、外边距(margin)

width是“宽度”的意思,CSS中width指的是内容的宽度,而不是盒子的宽度。

height是“高度”的意思,CSS中height指的是内容的高度,而不是盒子的高度

padding是“内边距”的意思

border是“边框”

margin是“外边距”

3.宽和高

1)宽和高只作用于内容区

2)一般不指定高度,因为我们的内容可以把我们的盒子给撑开

3)CSS2开始对我们的宽高引入了百分比值

4)行内样式是不能设置宽高的

4.内边距

1)盒子的背景颜色是可以延伸到padding区域的

2)如果你设置了border,那么你最好也设置padding,以免边框紧紧挤压内容。

3)padding不允许有负值

4)padding设置值的顺序是上、右、下、左(顺时针记忆)

5)Padding不会重合(和margin相比较的)

设置一个左内边距为20px;上右下内边距为30px的盒子

6)一些元素,默认带有padding,比如ul标签。

所以我们做站的时候,为了便于控制,总是喜欢清除这个默认的padding和margin

*{ margin: 0; padding: 0; }

5.边框

1)边框有三个特征可以指定:样式、宽度以及颜色,颜色如果不写,默认是黑色。另外两个属性不写,显示不出来边框。

2)分开写的话写作:

border-width: 1px;

border-style: solid;

border-color: red;

border属性能够被拆开,有两大种拆开的方式:

1) 按3要素:border-width、border-style、border-color

2) 按方向:border-top、border-right、border-bottom、border-left

如果不觉得蛋疼的话,还可以拆成12条语句

合着写的话:border:  1px  solid  red;

6.外边距

1)外边距总是透明的,不能设置颜色,强调没有margin-color这个属性(当然也没有padding-color这个属性)

2)外边距是可以为负值的

3)margin塌陷现象(margin重叠):上下重叠,取最大值,左右不重叠

4)Margin:0 auto 居中原理

注意:

使用margin:0 auto; 的盒子,必须有width,有明确的width

只有标准流的盒子,才能使用margin:0 auto; 居中。

也就是说,当一个盒子浮动了、绝对定位了、固定定位了,都不能使用margin:0 auto;

margin:0 auto;是在居中盒子,不是居中文本。文本居中要是有text-align:center;

7.正常流布局

宏观的讲,我们的web页面和photoshop等设计软件有本质的区别:web页面的制作,是个“流”,必须从上而下,像“织毛衣”。而设计软件,想往哪里画个东西,都能画。

1)从上到下(块级),从左到右(行内)的格式布局

2)正常流是做不出来网页的

8.块级元素和内嵌元素的相互转换

块级元素可以设置为行内元素

行内元素可以设置为块级元素

display是“显示模式”的意思,用来改变元素的行内、块级性质(inline,block)

9.元素浮动

浮动是CSS里面布局用的最多的属性。

首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流。

浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次。

1)当元素浮动时,元素会被视为块级(拿a标签距离)

浮动元素脱标,将会脱离普通流,其容器(父)元素将得不到脱离普通流的子元素高度。

2)只有横向浮动,并没有纵向浮动。

3)浮动元素相互贴靠

结论:假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。

div的顺序是HTML代码中div的顺序决定的。

靠近页面边缘的一端是前,远离页面边缘的一端是后。

float的属性值有none、left、right,有几个要点:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

4)浮动元素的字围效果

10.利用浮动来制作导航栏

11.清除浮动

浮动对页面的影响是什么?

解决高度塌陷,会去追尾

12.定位的几种类型:静态定位、相对定位、绝对定位、固定定位

静态定位:就是我们的标准流

相对定位:不脱标 形影分离

默认被设置为auto

在文档流中所占据的的空间被保留,用途一般有两个

1)用来微调元素

2)和绝对定位一起来使用

绝对定位:脱标

绝对定位的元素完全从文档流中脱离出来,所占空间不保留

固定定位:脱标

13.处理溢出

Overflow:hidden

14.设置元素的可见性

visibility:visible(可见)、hidden(隐藏)、inherit(继承)(默认)

 

15.visibility:hidden;和display:none;区别:

visibility:hidden;在隐藏时其空间仍存在,而display:none;在隐藏时其空间不存在(即完全消失)。

16.处理元素的重叠

使用z-index属性可以设置元素的高低,这个属性仅在position为absolute或relative时有效

css布局课件的更多相关文章

  1. 界面设计技法之css布局

    css布局之于页面就如同ECMAScript之于JS一般,细想一番,html就如同语文,css就如同数学,js呢,就是物理,有些扯远,这里就先不展开了. 回到主题,从最开始的css到如今的sass(l ...

  2. CSS布局 - 三栏布局

    CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · ...

  3. DIV+CSS布局中主要CSS属性介绍

    Float: Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能 ...

  4. CSS 布局

    近日开发中,总感觉页面布局方面力不从心.以前也曾学过这方面的内容,但是不够系统,因此我打算整理一下. 在web 页面中一般有 table 和 css+div 两种布局方式. 其中css+div 又分为 ...

  5. CSS布局经典—圣杯布局与双飞翼布局

    在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...

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

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

  7. CSS篇之DIV+CSS布局

    <div></div> div与其他标签一样,也是一个XHTML所支持的标签. div是XHTML中指定的,远门用于布局设计的容器标记. 简单的CSS布局 头部 内容 页脚 & ...

  8. CSS 布局口诀

    body { font-family: Segoe UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMi ...

  9. CSS布局基础——BFC

    what's BFC? 第一次看到这个名词,我是拒绝的,css什么时候还有这个东西?于是迫不及待的google了一下,才发现原来它无时无刻不在我们的css当中,只不过它并不是一个属性,不需要我们平常使 ...

随机推荐

  1. ibatis

    ibatis学习笔记(一)>>>>>>>sqlMapConfig.xml文件详解 1.sqlMapConfig.xml配置文件详解: Xml代码 1. < ...

  2. BZOJ 1096 仓库建设

    和上题类似吧.... #include<iostream> #include<cstdio> #include<cstring> #include<algor ...

  3. 【LeetCode】Roman to Integer & Integer to Roman

    Roman to Integer Given a roman numeral, convert it to an integer. Input is guaranteed to be within t ...

  4. Singleton Design Pattern

    The Singleton pattern is one of the simplest design patterns, which restricts the instantiation of a ...

  5. zenefits oa - sort integer array in lexographical order

    [ 12 | 2434 | 23 | 1 | 654 | 222 | 56 | 100000 ] Then the output should be: [ 1 | 100000 | 12 | 222 ...

  6. destoon二次开发 操作数据库可运行示例

    <?phpdefine('IN_DESTOON', true);$userid= $_REQUEST["userid"];//$basepath=$_SERVER['PHP_ ...

  7. maven - dependencies与dependencyManagement的区别

    1.DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行 ...

  8. Linux记录从此开始

    Linux记录从此开始~ 希望自己多写代码同时多记录~

  9. java可变参数

    Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持 ...

  10. jQuery插件开发的两种方法及$.fn.extend的详解

    jQuery插件开发分为两种: 1 类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery.ex ...