css样式表是为了容纳与html文档分离出来的样式属性而产生的,所以她理所当然的包含两个部分:1.样式的表示,使用{属性1:属性值;属性2:属性值;...},2.样式与标签的对应(如何找的对应标签),使用各种选择器。下面将这两部分分别进行分析。

一、选择器的分类和应用原则:

    关于选择器的总结,已经有很多,推荐博文:十分钟搞定css选择器,里面的总结已经非常全面,但怎样使用还是应该注意优先级(这是由于层叠引起的,因为css允许为一个标签多次设定样式,所以就要确定到底是哪个样式被最终使用)和应用原则,推荐另一篇文章:css选择器,优先级和匹配原理。还有一个需要体会的原则是渐进增强原则,这是因为各种浏览器对css的支持程度不同,为了满足不同用户都可以体验到满意的效果。

  二、样式又可以分为具体样式(指定每一部分自身应该显示的样式,如边框、背景等,其中最需理解的就是盒模型)和定位(指定元素的位置)。

    1、自身样式包括:背景、字体、文本、边框、链接、列表、表格、轮廓,多列,变换,过渡,动画,最后是"盒子"。

    前几个都较容易理解,具体内容在w3school手册中有介绍,需要记忆即可(注意背景图片百分比定位的具体操作)。

     而对盒子的理解首先应该是:它是一个装着珍贵物品的礼物盒,在最里面是物品(content),外面有一层柔软的布将它与坚硬外壳隔离(padding和border),这个盒子还需要和别的物件分开(margin)。所以这个盒子所占据的空间就是(margin-left+border-left+padding-left+content+padding-right+border-right+margin-right,上下计算同理),这样复杂的写只是想表明左右的大小不一定相等。

    有了上面的理解,现在来想一个实际的问题:如果在这个盒子里装了一个大于盒子的物品会出现什么情况呢?因为这个物品足够这珍贵,所以默认情况下它会溢出盒子的约束(ie中甚至可以将盒子“撑大”)。为了保持布局,你可以使用overflow属性对其进行限制(修剪多余部分hidden,出现滚动条scroll,自动识别auto),clip属性也可以用来对元素进行剪切,但有一定条件(该元素设置position为absolute)。

    在html中,可以说万物皆盒子。但盒子又可以分为两种:行内(框?盒)和行外(框?盒)。内外之分在于行,前者被局限于行之中,可以左右扩张,但只能通过设置行高line-height来上下扩展;而后者可以随心上下左右扩展。(图像属于行内元素)。display属性提供两者之间的转化方式,甚至将环内元素转化为特殊的行外元素,如列表和表格,详见手册。

    2、有了以上的盒子概念,就可以来进行定位了。记得以前看到过一些抽象画,就是一些方块的格子在一幅图片上进行排布,网页设计者就是在屏幕上进行这种艺术创作,但更准求精准的排列关系而已。其实浏览器默认就有一种排列方式—>由上到下,由左到右的排列这些行内和行外框(标准流)。为了使盒子可以以你的医院进行排列,css提供了定位元素,分为两种方式:position和float。

    float是浮动定位方式,先浮后动,浮是指想着屏幕冲着脸的方向上浮,然后向左或右移动,元素不占据标准流中位置,所以可以覆盖之后未浮动的元素。这是你可以消除它对下一个元素的影响(清除浮动),即使用clear属性

    position是一种“相对”定位方式,指的是它的定位依据某一特定元素来确定(有浮的特性),有relative(相对于标准流中的自己,原位置和框的性质保留),absolute(相对于包含它的最近定位元素,位置不留,一律变成块框),fixed(相对于浏览器视窗)

    还有四种定位,top,right,bottom,left,它们必须在设定position定位之后才能起作用。

新手前端笔记之--初识css的更多相关文章

  1. 新手前端笔记之--初识html标签

    接触前端(好大气的名字啊)已经一个多月了,看了很多视频和博客,有了一定的感性认识,但还是需要总结一下以便系统化所学习的知识,就从html标签开始吧.关于标签,谈论最多的就是简洁和语义化.简洁指html ...

  2. 新手前端笔记之--css盒子

    css盒子就是它的盒模型,所有css的布局都是以此作为基础的,很有必要来详细记录一下. 1.盒子的尺寸就是margin+padding+border+content的总和,这很好理解,但令人迷惑的可能 ...

  3. 前端笔记 (2.CSS)

    知识点借鉴于慕课网,菜鸟教程和w3shool CSS方面: CSS全称为“层叠样式表”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等. 使用CSS样式的一个好处是通过 ...

  4. 前端笔记二:CSS盒模型

    1.标准模型和IE模型 2.标准模型和IE模型的区别 标准模型的height和width只是content的: IE模型的height和width是包含padding和border的 3.CSS如何设 ...

  5. 前端笔记(关于css盒模型知识整理)

    我以前整理的文章可能也不是特别深入.所以现在开始尝试即使多花点时间收集整理,也不只发浅层知识,这样对技术的深入理解是很有帮助的. 废话不多说,我们现在开始. 说到css盒模型,这是大多面试基础中会经常 ...

  6. 2.前端笔记之css

    title: 1.前端笔记之CSS date: 2016-04-05 23:05:51 tags: 前端 categories: w3c --- 作者:刘耀 **出处:http://www.liuya ...

  7. 1.前端笔记之html

    title: 1.前端笔记之HTML date: 2016-04-04 23:21:52 tags: Python categories: Python --- 作者:刘耀 **出处:http://w ...

  8. 写给后端的前端笔记:浮动(float)布局

    写给后端的前端笔记:浮动(float)布局 这篇文章主要面向后端人员,对前端有深刻了解的各位不喜勿喷. 起因 前一阵子我一个后端的伙伴问我,"前端的左飘怎么做?",我立马就懵了,& ...

  9. 写给后端的前端笔记:定位(position)

    写给后端的前端笔记:定位(position) 既然都写了一篇浮动布局,干脆把定位(position)也写了,这样后端基本上能学会css布局了. 类别 我们所说的定位position主要有三类:固定定位 ...

随机推荐

  1. struts2怎么返回一个字符串给jsp?(使用json)

    我们都知道使用servlet时可以直接用PrintWriter对象的print方法来向页面传送一些字符串(可以是html标签和内容),然后在用RequestDispatcher来转向网页 虽Strut ...

  2. Objective-C中的同步线程的锁

    概述 在多线程编程中往往会遇到多个线程同时访问共享的资源,这种情况我们需要通过同步线程来避免.也就是给线程加锁. 因为Objective-C是C语言的超集.,严格的来说是真超集.所以C语言当中的pth ...

  3. C++调用Lua的性能測试

    游戏服务器经典的架构就是C++和Lua的结合,C++开发主体框架.Lua实现一些复杂的逻辑.我们都知道Lua是一种很快的语言.可是究竟有多块.我们測试下看看. C++调用Lua的性能測试.发现不正确的 ...

  4. HDOJ 4009 Transfer water 最小树形图

    Transfer water Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) T ...

  5. 关于vue中的语法糖v-model

    开发src-在线系统的过程中,封装了很多组件,如Dialog prompt等,在开源项目的组件中这些组件使用v-model来控制显示,我来总结一下关于自己学习到的v-model知识 1. 使用prop ...

  6. 【引用】Android程序实现完全退出

    这是我在网上找到的,方法不错,都能够实现程序的完全退出http://www.jb51.net/article/37992.htm

  7. TortoiseSvn介绍 客户端

    转载自:http://www.cnblogs.com/lyhabc/articles/2482381.html TortoiseSvn 是 Subversion 版本控制系统的一个免费开源客户端,可以 ...

  8. Thinkpad Access Connections实现快速的在各种网络间进行切换

    Thinkpad Access Connections快速的在各种网络间进行切换 因为工作的原因要经常在多个无线或有线之间切换,每次要切换到不同的固定IP地址的网络更是一种折磨,换一次就要从新输入一次 ...

  9. Yeslab 华为安全HCIE-第五门-防火墙攻击防范技术

    Yeslab 华为安全HCIE-第五门-防火墙攻击防范技术 课程目录 Yeslab华为安全HCIE-第五门-防火墙攻击防范技术(8篇)\1_单包攻击防范.aviYeslab华为安全HCIE-第五门-防 ...

  10. Mirai僵尸网络重出江湖

    近年数度感染数十万台路由器的僵尸网络程序Mirai,虽然原创者已经落网判刑,但是Mirai余孽却在网络上持续变种,现在安全人员发现,Mirai已经将焦点转向Linux服务器了. 安全公司Netcout ...