CSS3初学篇章_6(布局/浏览器默认样式重置)

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:0; bottom:0;}

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

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

div { z-index:1}

CSS reset

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

最简单的reset:

*{margin:0;padding:0;}

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

时间: 2024-12-24 17:15:11

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

CSS3初学篇章_6(自定义动画)

自定义动画 由于有一部分低版本的浏览器并不支持的问题,所以这个样式要多做兼容,各大浏览器兼容前缀如下: 前缀 浏览器  -webkit  chrome和safari  -moz  firefox  -ms  IE  -o  opera 1. animation-name(动画名称):语法:animation-name :none | <identifier> 说明:元素所应用的动画 名称,必须与规则@keyframes配合使用,因为动画名称由@keyframes定义 div{ animatio

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

每种浏览器都有一套默认的样式表,即user agent stylesheet,在写网页时,没有指定的样式,按浏览器内置的样式表来渲染.这是合理的,像word中也有一些预留样式,可以让我们的排版更美观整齐.不同浏览器甚至同一浏览器不同版本的默认样式是不同的.这才带来了很多的坑,让大家用cssreset去填.. 一.浏览器默认样式 了解各浏览器的默认样式能让我们对每条Reset规则的写法做到心中有数,对我们了解浏览器的差异,写各浏览器兼容的代码也有很大帮助. 所以先看看浏览器默认样式长什么样: FF

浏览器默认样式

1 html, address, 2 blockquote, 3 body, dd, div, 4 dl, dt, fieldset, form, 5 frame, frameset, 6 h1, h2, h3, h4, 7 h5, h6, noframes, 8 ol, p, ul,center, 9 dir, hr, menu, pre{ display: block} 10 /* 以上按照block显示,没有规定的则按照默认的inline显示 */ 11 12 li { display:

浏览器默认样式及reset

写在前面 首先纠正一个易错概念.div并非生来就是块元素,而是每个浏览器都有一套默认的css样式(优先级最低),默认样式里会把div设置成display: block;还有margin,padding等.这就是不同浏览器初始化样式不同的原因.也是为什么要做css reset的原因. 注:chrome等可以在调试工具里看到默认样式,是不可修改的,置灰的,如下图.各浏览器默认样式详情请参考<浏览器默认样式对比表>. 1.浏览器默认样式 这里无需过多赘述,最直观的就是上表,给大家几个地址: 1.浏览

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

上一节<css知多少(3)——样式来源与层叠规则>介绍了样式的五种来源,咱们再通过一张图回顾一下. 对于上面的三层,咱们大概都比较熟悉了.下面的两层中,用户自定义样式一般也就是改一改字号大小和字体样式,也没甚好说的.而最有的说的就是浏览器的默认样式. 不同浏览器的默认样式多少有些区别,特别是老版本的浏览器之间,现在高级浏览器越来越向统一的标准靠拢,对前端程序猿来说是一件好事情.虽然有些许差异,但是绝大部分还是相同的,我先把代码粘贴出来 ,具体的解读咱们慢慢道来(只说重点,比较容易的或者不常用的

浏览器默认样式表

1 html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, noframes,ol, p, ul, center,dir, hr, menu, pre { display: block }/*以上列表元素默认状态下一块状显示,未显示的将以内联元素显示,该列表针对HTML4版本,部分元素在XHTML1中将废弃*/ 2 li { display: list

你们有关注过HTML标签的默认样式和浏览器默认样式吗?

HTML默认样式 html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, noframes,ol, p, ul, center,dir, hr, menu, pre { display: block }/*以上列表元素默认状态下一块状显示,未显示的将以内联元素显示,该列表针对HTML4版本,部分元素在XHTML1中将废弃*/ li { display:

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

原文:http://www.zjgsq.com/898.html 不同浏览器对于相同元素的默认样式并不一致,这也是为什么我们在CSS的最开始要写 * {padding:0;marging:0}: 不过现在说的可不只是这些.基本上,不同内核的两个浏览器在某些元素的表现都会存在差异,比如缩进的大小.字体选择.字符样式等.也许一个很漂亮的CSS样式表在一个浏览器上表现良好,在另外一个浏览器上即使是没有CSS Bug的情况也会变得结构混乱起来,我都是浏览器默认样式在作怪. 因此,我们在生成CSS样式规则

base.css(重设浏览器默认样式)

@charset "utf-8"; /* @名称: base @功能: 重设浏览器默认样式 */ /* 防止用户自定义背景颜色对网页的影响,添加让用户可以自定义字体 */ html { color:black; background:white; } /* 内外边距通常让各个浏览器样式的表现位置不同 */ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p