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. Android高手速成--第一部分 个性化控件(View)

    第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Pro ...

  2. ReactiveCocoa源码拆分解析(五)

    (整个关于ReactiveCocoa的代码工程可以在https://github.com/qianhongqiang/QHQReactive下载) 好多天没写东西了,今天继续.主要讲解RAC如何于UI ...

  3. Python的由来

    Python的由来 Python这门语言是由C开发而来. C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转 ...

  4. getpass模块和random模块

    getpass模块 用于对密码的隐藏输入案例: import getpass passwd = getpass.getpass("please input your password&quo ...

  5. oracle查询以当前年份为准的近些年数据

    今天在工作中遇到了一个查询近几年数据的问题,oracle学的比较渣渣,学习了一下. 举个例子: 比如说员工入职,我想看这个公司的员工入职情况,然后做一个趋势统计表. 以当前年份为准,查看近5年的情况趋 ...

  6. ABAP 客户报表

    *&---------------------------------------------------------------------* *& Report  ZSDR014 ...

  7. Document对象和window对象

    window对象--- 代表浏览器中的一个打开的窗口或者框架,window对象会在<body>或者<frameset>每次出现时被自动创建,在客户端JavaScript中,Wi ...

  8. nginx 配置https upstream 跳转失败

    访问首页没问题,但是在登录跳转重定向时域名被修改成upstream的名字 如果需要跳转的话会出现下面的情况: http://test-xxx-emove_pools/beehive/index ser ...

  9. Maven 添加自定义 archetype

    环境:jdk7 maven3.23 eclipse mars 关于maven是使用插件自带的还是单独下载的,应该都是可以的,但是要注意maven和jdk版本的问题,比如3.2.3版本的maven支持j ...

  10. Borland C++建立工程菜鸟教程

    实在不敢相信,学校里现在教学用的编译器还是七八十年代的老古董,难道这东西更能培养从没接触过代码的学生深刻理解c语言的运行流程,不得不说像VisualStdio这样的重量级开发环境确实屏蔽了很多底层的运 ...