CSS布局
说到布局,就不得不提布局的核心<div>标签,它与其它标签一样,也是一个XHTML所支持的标签,专门用于布局设计的容器标签。在css布局方式中,div 是这种布局方式的核心对象,我们的页面排版不再依赖于表格,
仅从div的使用上说,做一个简单的布局只需要两样东西:div 与 css.因此我们称这种
布局方式为 div + css 布局。

语义元素

<header>、<nav>、<section>、<article>、<aside>、<figcaption>、<figure>、<footer>

<figure>:标签规定独立的流内容(图像、图表、照片、代码等等),元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。
<figcaption>: 标签定义 <figure> 元素的标题,被置于 "figure" 元素的第一个或最后一个子元素的位置。

<figure>
<img src="url" alt="图片" width="宽度" height="高度">
<figcaption>这是标题</figcaption>
</figure>

1.display(元素显示模式)

语法:display : block | none | inline | inline-block

说明:用来设置元素的显示方式。

block:块对象指的是元素显示为一个方块,默认显示状态下将占据整行,其它的元素只能另起一行显示。
inline:行间对象与block刚好相反,它允许其它元素在同一行显示。
none:隐藏对象

div{display:block}

2.float(元素的浮动)
语法:float : none | left | right
说明:用来控制元素是否浮动显示,浮动的时候元素的显示属性也变化了 变为 “行内元素”。浮动的目的就是要打破文档流的默认显示规则,有的时候为了让元素按照我们的意愿进行显示,就要利用float属性。

注意:
1.任何申明为 float 的元素自动被设置为一个“块级元素”。
2.在标准浏览器中 浮动元素脱离了文档流 ,所以浮动元素后的元素会占据浮动元素本来
应该所处的位置。
3.如果水平方向上没有足够的空间容纳浮动元素,则转向下一行 。
4.文字内容会围绕在浮动元素周围 。
5.浮动元素只能浮动至左侧或者右侧 。

div{ float:left;}

3.clear(清除浮动)
语法:clear : none | left | right | both

说明:既然有浮动,自然有清除浮动,它的存在意义与浮动相同,都是为了页面布局。

none :默认值。允许两边都可以有浮动对象
left :不允许左边有浮动对象
right: 不允许右边有浮动对象
both :不允许有浮动对象

div { clear:both;}

4.position(元素的定位)
语法:position : static | absolute | fixed | relative

static : 无定位,默认值
absolute:绝对定位
relative : 相对定位
fixed:固定定位

absolute 说明:
脱离文档流。
通过 top,bottom,left,right 定位。
如果父元素 position 为 static 时,将以body坐标原点进行定位。
如果父元素 position 为 relative 时,将以父元素进行定位。

div { position:absolute; left:100px; top:100px;} 

elative说明 :
相对定位(相对自己原来的位置而言)

不脱离文档流
参考自身静态位置通过 top,bottom,left,right 定位。

div { position: relative; left:100px; top:100px;}

fixed说明:
固定定位实际上只是绝对定位的特殊形式;
固定定位的元素是相对于浏览器窗口而固定,
而不是相对于其包含元素;
即使页面滚动了,它们仍然会处在浏览器窗口中跟原来完全一
样的地方。

div { position: fixed; right:; bottom:;}

5.z-index(元素的层叠关系):
语法:z-index : auto | number

说明:当元素发生重叠时,可以通过 z-index 属性,设置其层叠的先后顺序。
较大 number 值的对象会覆盖在较小 number 值的对象之上。默认值为0。

div { z-index:}

CSS reset

  在HTML标签在浏览器里有默认的样式,例如 p 标签有上下边距,strong标签有字体加粗样式,em标签有字体倾斜样式。不同浏览器的默认样式之间也会有差别,例如ul默认带有缩进的样式,在IE下,它的缩进是通过margin实现的,而Firefox下,它的缩进是由padding实现的。在切换页面的时候,浏览器的默认样式往往会给我们带来麻烦,影响开发效率。所以解决的方法就是一开始就将浏览器的默认样式全部去掉,更准确说就是通过重新定义标签样式。"覆盖"浏览器的CSS默认属性。最最简单的说法就是把浏览器提供的默认样式覆盖掉!这就是CSS reset。

最简单的reset:

*{margin:;padding:;}

注:一般CSS reset不需要自己去写,可以去使用网上大神开源的css文件,http://cssreset.com/

CSS3初学篇章_7(布局/浏览器默认样式重置)的更多相关文章

  1. Web前端浏览器默认样式重置(CSS Tools: Reset CSS)

    /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, ...

  2. 浏览器默认样式(user agent stylesheet)+cssreset

    每种浏览器都有一套默认的样式表,即user agent stylesheet,在写网页时,没有指定的样式,按浏览器内置的样式表来渲染.这是合理的,像word中也有一些预留样式,可以让我们的排版更美观整 ...

  3. CSS系列——浏览器默认样式

    了解HTML标签在各浏览器当中的默认样式,可以让我们了解,为什么会要写Reset.css,Reset.css当中要怎么写样式最合理.试着思考下面的问题: 为什么会有默认样式? 每个浏览器的默认样式有什 ...

  4. css知多少(4)——解读浏览器默认样式

    上一节<css知多少(3)——样式来源与层叠规则>介绍了样式的五种来源,咱们再通过一张图回顾一下. 对于上面的三层,咱们大概都比较熟悉了.下面的两层中,用户自定义样式一般也就是改一改字号大 ...

  5. css知多少(4)——解读浏览器默认样式(转)

    css知多少(4)——解读浏览器默认样式   上一节<css知多少(3)——样式来源与层叠规则>介绍了样式的五种来源,咱们再通过一张图回顾一下. 对于上面的三层,咱们大概都比较熟悉了.下面 ...

  6. 浏览器默认样式及reset

    写在前面 首先纠正一个易错概念.div并非生来就是块元素,而是每个浏览器都有一套默认的css样式(优先级最低),默认样式里会把div设置成display: block;还有margin,padding ...

  7. 浏览器默认样式(User Agent Stylesheet)

    原文:http://www.zjgsq.com/898.html 不同浏览器对于相同元素的默认样式并不一致,这也是为什么我们在CSS的最开始要写 * {padding:0;marging:0}: 不过 ...

  8. css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类。自己留存

    今天发下我自己的 css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类. @charset "utf-8"; /*! * @名称:base.css * @功能 ...

  9. CSS 浏览器默认样式

    不要再说div天生就是block——这句话应该换成:浏览器默认样式天生规定了div是block——所以才导致了div是block!是默认样式规定的,不是浏览器的内核规定的. 没有设置block的元素, ...

随机推荐

  1. linux下共享库的注意点之-fpic

    在编译共享库必须加上-fpic.这是为什么呢? 首先看一个简单的例子: #include <stdio.h> int fun1() { printf("fun1\n") ...

  2. [Data Structure] 数据结构中各种树

    数据结构中有很多树的结构,其中包括二叉树.二叉搜索树.2-3树.红黑树等等.本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂. 1. 二叉树 二叉树是数据结构中一种重要 ...

  3. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

  4. python pickle

    >>> import pickle >>> m_list=[',2,'asa'] >>> m_list [', 2, 'asa'] >> ...

  5. 【Maven】解决缺少Jar包问题

    解决办法:进入项目的根目录(即 pom.xml文件所在的目录)执行:mvn dependency:copy-dependencies完成后进入eclipse,发现项目不再报错前提条件:1,安装了mav ...

  6. AngularJS 初用总结

    一直用惯jquery,初用Angularjs的初段时间,需要先了解一下她的类MVC思想. 初学时几个比较基本的概念: 1.客户端模板 2. Model View Controller (MVC) 3. ...

  7. Java中的Serializable接口transient关键字,及字节、字符、对象IO

    1.什么是序列化和反序列化Serialization是一种将对象转为为字节流的过程:deserialization是将字节流恢复为对象的过程. 2.什么情况下需要序列化a)当你想把的内存中的对象保存到 ...

  8. Httpsqs队列基本操作

    一,安装 ulimit -SHn 65535 wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz tar zx ...

  9. bzoj3439 trie+可持久化线段树

    挺好想的 trie建树后,按dfn序建可持久化 注意:计数变量多的题目一定要注意检查会不会用的时候搞混了 #include <cstdio> #include <cstdlib> ...

  10. pm2无法自动重启

    在服务器上有个上传文件的服务,之前是pm2启动,每当有文件上传会自动重启 现在为了应对服务器宕机,我把启动脚本放在了另一文件夹内,所以就无法自动重启, 原文在 http://pm2.keymetric ...