1.选择器

参考链接:十分钟搞定CSS选择器-Samaritans  CSS选择器笔记-阮一峰  CSS选择器-w3school  MDN

参考书籍:《CSS高效开发指南》

2.布局

2.1 盒模型

颜色:内边距总是跟元素的背景色一样,所以当你设置背景色时,你会发现背景色在元素本身和内边距上都生效了。外边距总是透明的。

作用:内边距和边框主要的作用是装饰;外边距主要用于布局,目的是控制元素之间的距离。

边距(margin)重叠:边距重叠时,会淘汰边距较小的一个。边距重叠只发生在边距属性中,补白(padding)和边框都不会发生重叠现象。
注意:只有在普通文档流中的块级元素才会发生边距重叠。行内元素、浮动元素和绝对定位元素都不会产生重叠。
box-sizing: content-box|border-box|inherit;

盒模型中,默认box-sizing:content-box; 元素的边框和内边距会撑开元素。

box-sizing: border-box:用来改变默认的CSS盒模型对元素宽高的计算方式,使得元素的内边距和边框不再会增加它的宽度。

 
参考链接:MDN  CSS3 box-sizing属性
参考书籍:《CSS+DIV网页布局》
 
 2.2 块级元素和行内元素
        常用的块级元素:blockquote、div、fieldset、form、h1-h6、hr、dl、ol、ul、p、pre
      常用的行内元素:a、b、span、cite、em、i、img、input、label、select、br、strong、textare
 
        块级元素:垂直排列,会开始新的一行并且尽可能地撑满容器;高度、行高及上下边都可控制;其宽度在默认情况下与其父元素的宽度一致。可以设置width属性来改变其宽度。
        行内元素:水平排列,不会打乱段落布局,可以在一行内显示;高度及上下边距都不可控制;宽度就是其包含的文字或者图片的宽度,设置width属性不生效。

 2.3 浮动

清理浮动两种方式:

  1. 利用 clear 属性,清除浮动;

  2. 使父容器形成 BFC(Block Formatting Context)

 清除浮动可以理解为打破横向排列。其语法:clear : none | left | right | both

取值:

none  :  默认值。允许两边都可以有浮动对象

left   :  不允许左边有浮动对象

right  :  不允许右边有浮动对象

both  :  不允许有浮动对象

    对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。
    clear:left属性只是消除其左侧div浮动对它自己造成的影响,而不会改变左侧div甚至于父容器的表现。父容器看到有一个非浮动、普通流的子元素元素,会将其包围,使高度不再塌陷。
 
  BFC(Block Formatting Context)
  BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
 

参考链接:经验分享:CSS浮动(float,clear)通俗讲解   CSS清浮动处理(Clear与BFC)

    前端精选文摘:BFC 神奇背后的原理   CSS深入理解流体特性和BFC特性下多栏自适应布局

2.4 定位

   默认值(positin:static):在CSS中为元素定义 top、left、right、bottom、z-index 都不会生效

    相对定位(positon:relative):指相对于文档流中的其他已定义的元素位置进行定位,表现和默认值一样,只不过可以设置偏移量和 z-index 来控制相对于其正常位置进行的偏移。但是其他的元素不会调整位置来弥补它偏离后剩下的空隙。
    说明:所有元素的定位(position)都默认为 static,什么都不写就是相对定位,而使用 position:relative 在不设置 top/left/z-index 等值的情况下和默认值表现是一样的。
    绝对定位(position:absolute):相对上一个不为 static 的父元素(即被positioned的元素)进行绝对定位。如果绝对定位的元素没有“positioned”祖先元素,absolute 将相对于整个 html 文档进行绝对定位,并且会随着页面滚动而移动。
    绝对定位的元素有以下几个特点:
  • 块级元素的宽度在未定义时不再为100%,而是根据内容自动调整
  • 在不定义 z-index 的情况下,absolute 元素会覆盖在其他元素之上
  • 它会脱离正常的文档流,不再占据空间,类似于浮动后的效果
    固定定位(position:fixed):生成绝对定位的元素,相对于浏览器窗口进行定位。即不论网页如何滚动,该元素始终停留在屏幕的某个位置上。  
 
 
参考链接:学习CSS布局
参考书籍:《CSS高效开发实战》 
 

CSS知识点总结的更多相关文章

  1. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  2. 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  3. 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  4. 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11

    系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...

  5. css知识点

    css知识点 一.盒模型知识 border: 边框 border-width:边框的宽度 border-color:边框的颜色 border-style:边框的线型 border-top:上边框 bo ...

  6. CSS知识点集锦

      CSS知识点集锦 CreateTime--2016年9月29日09:43:10Author:Marydon UpdateTime--2017年3月21日08:03:13 2.CSS样式优先级问题 ...

  7. 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9(知识点:媒体操作、构建表单)

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  8. 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作、代码编写规则)

    系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...

  9. 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置、设置背景、数据列表)

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  10. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

    这些HTML.CSS知识点,面试和平时开发都需要 No1-No4   系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...

随机推荐

  1. JBoss JMX登录需要用户名密码的解决办法

    /opt/jboss/eap5.1.2/jboss-as/server/default/conf/props/jmx-console-users.properties 取消#admin=admin的注 ...

  2. php圖片中寫入字符串然後生成圖片下載到本地

    <?php /** * 生成卡片得類 * Enter description here ... * @author perry * @time 2014-03-03 10:02:20 */ cl ...

  3. 使用HttpClient访问被保护资源

    下面的Android应用需要向指定页面发送请求,但该页面并不是一个简单的页面,只有当用户已经登录,而且登录用户的用户名是crazyit.org时才可访问该页面.如果使用HTTPURLConnectio ...

  4. TFS错误 TF31004:在连接带xxx.xxx.xxx.xxx上的Team Foundation Server时遇到错误。请等待几分钟,然后重试。如果问题仍然存在,请与服务器管理员联系

  5. 胡扯两句——CDQ分治

    之前听大神讲过CDQ分治大概是个什么东西,但是一直还没有真正去搞过.今天稍微看了一下,写点自己的理解. 首先CDQ分治有两个条件. 条件1:可以分成两个独立互不影响的问题(这里的"独立&qu ...

  6. bzoj 1854: [Scoi2010]游戏

    #include<cstdio> #include<iostream> #include<cstring> #define M 2000008 using name ...

  7. js字符转换成整型 parseInt()函数规程Number()函数

    今天在做一个js加法的时候,忘记将字符转换成整型,导致将加号认为是连接符,  在运算前要先对字符井行类型转换,使用parseInt()函数   使用Number()将字符转换成int型效果更好

  8. C++-继承名称的掩盖

    /////////////////////////////////////////////////////////////////////////////// // // FileName : eff ...

  9. android webview实战

    webSettings = wvShowProduce.getSettings();//设置WebView属性,能够执行Javascript脚本webSettings.setJavaScriptEna ...

  10. Java 多线程间的通讯

    在前一小节,介绍了在多线程编程中使用同步机制的重要性,并学会了如何实现同步的方法来正确地访问共享资源.这些线程之间的关系是平等的,彼此之间并不存在任何依赖,它们各自竞争CPU资源,互不相让,并且还无条 ...