Dreamweaver基础教程:学习CSS

Dreamweaver基础教程:学习CSS

目录CSS 简介CSS 语法Id 和 Classid 选择器class 选择器CSS 创建外部样式表内部样式表内联样式多重样式多重样式优先级背景(background)背景颜色背景图像background-repeatbackground-positionbackground-attachment简写属性文本格式文本颜色(color)对齐方式(text-align)文本修饰(text-decoration)文本转换(text-transform)文本缩进(text-indent)字体属性字体系列字体样式字体大小设置字体大小像素用em来设置字体大小使用百分比和EM组合链接样式文本修饰背景颜色CSS 列表不同的列表项标记(list-style-type)作为列表项标记的图像(list-style-image)浏览器兼容性解决方案(ul li)列表项目标记的位置(list-style-position)列表 - 简写属性(list-style)移除默认设置CSS 表格表格边框(border)折叠边框(border-collapse)表格宽度和高度(Width和height)表格文字对齐(text-align、vertical-align)表格填充(padding)表格颜色(background-color)盒子模型(Box Model)元素的宽度和高度浏览器的兼容性问题边框(border)边框样式(border-style)宽度(border-width)、颜色(border-color)单独设置各边简写属性轮廓(outline)外边距、填充margin(外边距)padding(填充)简写属性分组和嵌套选择器分组选择器嵌套选择器元素尺寸Display(显示) 与 Visibility(可见性)隐藏元素 - display:none或visibility:hiddenDisplay - 块和内联元素定位属性Position(定位)重叠的元素(z-index)布局 - Overflow浮动属性float(浮动)清除浮动 - 使用 clear布局 - 水平 & 垂直对齐元素居中对齐(margin: auto)文本居中对齐(text-align: center)图片居中对齐(margin: auto)左右对齐使用定位(position)方式使用浮动(float)方式垂直居中对齐使用 padding使用 line-height使用 position 和 transform组合选择符后代选择器子元素选择器相邻兄弟选择器后续兄弟选择器伪类(Pseudo-classes)语法anchor伪类伪类和CSS类first-child 伪类lang 伪类伪元素语法:first-line 伪元素:first-letter 伪元素伪元素和CSS类多个伪元素:before 伪元素:after 伪元素导航栏导航栏=链接列表垂直导航栏垂直导航条实例激活/当前导航条实例创建链接并添加边框全屏高度的固定导航条水平导航栏内联列表项浮动列表项水平导航栏实例活动/当前导航链接链接右对齐添加分割线固定导航条灰色水平导航栏下拉菜单基础的下拉菜单下拉菜单提示工具(Tooltip)基础的工具提示定位提示工具添加箭头淡入效果属性选择器属性选择器属性和值选择器属性选择器 ~=, |=, ^=, $=, *= 的区别

CSS 简介

CSS 指层叠样式表 (Cascading Style Sheets),样式定义如何显示 HTML 元素,样式通常存储在样式表中,外部样式表通常存储在 CSS 文件中(多个样式定义可层叠为一个)。

CSS中,颜色值通常以以下方式定义:

十六进制 - 如:"#ff0000"

RGB - 如:"rgb(255,0,0)"

颜色名称 - 如:"red"

CSS 语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:

选择器通常是需要改变样式的 HTML 元素,参考CSS 选择器

每条声明由一个属性和一个值组成,属性(property)是您希望设置的样式属性(style attribute),参考CSS 属性

每个属性有一个值,属性和值被冒号分开。

CSS声明总是以分号(;)结束,声明总以大括号({})括起来。

注释是用来解释代码,CSS注释以 /* 开始, 以 */ 结束。

教程

这是标题


你可以看到这个段落是被设定的 CSS 渲染的。

这是一个链接

Id 和 Class

如果要在HTML元素中设置CSS样式,需要在元素中设置"id" 和 "class"选择器。

id 选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式,HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。

以下的样式规则应用于元素属性 id="para1":

教程

Hello World!

这个段落不受该样式的影响。

注:ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用。

class 选择器

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。

class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示。

在以下的例子中,所有拥有 center 类的 HTML 元素均为居中:

教程

标题居中

段落居中。

在以下实例中, 所有的 p 元素使用 class="center" 让该元素的文本居中:

教程

这个标题不受影响

这个段落居中对齐。

注:类名的第一个字符不能使用数字!它无法在 Mozilla 或 Firefox 中起作用。

CSS 创建

当读到一个样式表时,浏览器会根据它来格式化 HTML 文档,插入样式表的方法有三种:

外部样式表(External style sheet)

内部样式表(Internal style sheet)

内联样式(Inline style)

外部样式表

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,可以通过改变一个文件来改变整个站点的外观。

每个页面使用 标签链接到样式表, 标签在(文档的)头部:

浏览器会从文件 mystyle.css 中读到样式声明,并根据它来格式文档。外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的 html 标签。

样式表应该以 .css 扩展名进行保存,下面是一个样式表文件的例子:

hr {color:sienna;}

p {margin-left:20px;}

body {background-image:url("/images/back40.gif");}

注:不要在属性值与单位之间留有空格(如:"margin-left: 20 px" ),正确的写法是 "margin-left: 20px" 。

内部样式表

当单个文档需要特殊的样式时,就应该使用内部样式表,可以使用

内联样式

由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势,请慎用这种方法。

要使用内联样式,需要在相关的标签内使用样式(style)属性,Style 属性可以包含任何 CSS 属性,本例展示如何改变段落的颜色和左外边距:

这是一个段落。

多重样式

如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。

外部样式表拥有针对 h3 选择器的三个属性:

h3

{

color:red;

text-align:left;

font-size:8pt;

}

内部样式表拥有针对 h3 选择器的两个属性:

h3

{

text-align:right;

font-size:20pt;

}

拥有内部样式表的这个页面同时与外部样式表链接,h3 得到的样式是:

color:red;

text-align:right;

font-size:20pt;

颜色属性将被继承于外部样式表,而文字排列(text-alignment)和字体尺寸(font-size)会被内部样式表中的规则取代。

多重样式优先级

样式表允许以多种方式规定样式信息:

在单个的 HTML 元素中;

在 HTML 页的头元素中;

在一个外部的 CSS 文件中;

在同一个 HTML 文档内部引用多个外部样式表。

一般情况下,优先级如下:(内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet > 浏览器默认样式。

测试!

注:如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。

背景(background)

CSS 背景属性用于定义HTML元素的背景:

Property

描述

background

简写属性,作用是将背景属性设置在一个声明中。

background-attachment

背景图像是否固定或者随着页面的其余部分滚动。

background-color

设置元素的背景颜色。

background-image

把图像设置为背景。

background-position

设置背景图像的起始位置。

background-repeat

设置背景图像是否及如何重复。

背景颜色

background-color 属性定义了元素的背景颜色,以下实例中body、h1、p和 div 元素拥有不同的背景颜色:

body {background-color:#b0c4de;}

h1 {background-color:#6495ed;}

p {background-color:#e0ffff;}

div {background-color:#b0c4de;}

背景图像

background-image 属性描述了元素的背景图像,默认情况下背景图像进行平铺重复显示以覆盖整个元素实体,页面背景图片设置实例:

body {background-image:url('paper.gif');}

background-repeat

设置如何平铺对象的 background-image 属性:

说明

repeat

背景图像将向垂直和水平方向重复。这是默认

repeat-x

只有水平位置会重复背景图像

repeat-y

只有垂直位置会重复背景图像

no-repeat

background-image不会重复

inherit

指定background-repea属性设置应该从父元素继承

background-position

background-position属性设置背景图像的起始位置:

描述

left top left center left bottom right top right center right bottom center top center center center bottom

如果仅指定一个关键字,其他值将会是"center"

x% y%

第一个值是水平位置,第二个值是垂直。左上角是0%0%,右下角是100%100%。如果仅指定了一个值,其他值将是50%,默认值为:0%0%

xpos ypos

第一个值是水平位置,第二个值是垂直。左上角是0,单位可以是像素(0px0px)或任何其他 CSS单位。如果仅指定了一个值,其他值将是50%,可以混合使用%和positions

inherit

指定background-position属性设置应该从父元素继承

background-attachment

background-attachment设置背景图像是否固定或者随着页面的其余部分滚动:

描述

scroll

背景图片随着页面的滚动而滚动,这是默认的。

fixed

背景图片不会随着页面的滚动而滚动。

local

背景图片会随着元素内容的滚动而滚动。

initial

设置该属性的默认值, 阅读关于 initial 内容

inherit

指定 background-attachment 的设置应该从父元素继承,阅读关于 inherit 内容

简写属性

为了简化页面的背景属性的代码,可以将这些属性合并在同一个属性中,**背景的简写属性为 "background":

body {background:#ffffff url('img_tree.png') no-repeat right top;}

当使用简写属性时,属性值的顺序为(无需全部使用):

background-color

background-image

background-repeat

background-attachment

background-position

文本格式

所有CSS文本属性:

属性

描述

color

设置文本颜色

direction

设置文本方向。

letter-spacing

设置字符间距

line-height

设置行高

text-align

对齐元素中的文本

text-decoration

向文本添加修饰

text-indent

缩进元素中文本的首行

text-shadow

设置文本阴影

text-transform

控制元素中的字母

unicode-bidi

设置或返回文本是否被重写

vertical-align

设置元素的垂直对齐

white-space

设置元素中空白的处理方式

word-spacing

设置字间距

文本颜色(color)

一个网页的背景颜色是指在主体内的选择:

body {color:red;}

h1 {color:#00ff00;}

h2 {color:rgb(255,0,0);}

注:对于W3C标准的CSS,如果你定义了颜色属性,你还必须定义背景色属性。

对齐方式(text-align)

text-align属性指定元素文本的水平对齐方式:

描述

left

把文本排列到左边。默认值:由浏览器决定。

right

把文本排列到右边。

center

把文本排列到中间。

justify

实现两端对齐文本效果。

inherit

规定应该从父元素继承 text-align 属性的值。

文本修饰(text-decoration)

text-decoration 属性规定添加到文本的修饰,下划线、上划线、删除线等:

描述

none

默认。定义标准的文本。

underline

定义文本下的一条线。

overline

定义文本上的一条线。

line-through

定义穿过文本下的一条线。

blink

定义闪烁的文本。

inherit

规定应该从父元素继承 text-decoration 属性的值。

文本转换(text-transform)

ext-transform 属性控制文本的大小写:

描述

none

默认,定义带有小写字母和大写字母的标准的文本。

capitalize

文本中的每个单词以大写字母开头。

uppercase

定义仅有大写字母。

lowercase

定义无大写字母,仅有小写字母。

inherit

规定应该从父元素继承 text-transform 属性的值。

文本缩进(text-indent)

text-indent 属性规定文本块中首行文本的缩进:

描述

length

定义固定的缩进,如50px,默认值:0。

%

定义基于父元素宽度的百分比的缩进。

inherit

规定应该从父元素继承 text-indent 属性的值。

字体属性

CSS字体属性定义字体,加粗,大小,文字样式,所有CSS字体属性如下:

Property

描述

font

在一个声明中设置所有的字体属性

font-family

指定文本的字体系列

font-size

指定文本的字体大小

font-style

指定文本的字体样式

font-variant

以小型大写字体或者正常字体显示文本

font-weight

指定字体的粗细

字体系列

在CSS中,有两种类型的字体系列名称:

通用字体系列:拥有相似外观的字体系统组合(如 "Serif" 或 "Monospace")

特定字体系列:一个特定的字体系列(如 "Times" 或 "Courier")

font-family 属性设置文本的字体系列,应该设置几个字体名称作为一种"后备"机制,如果浏览器不支持第一种字体,它将尝试下一种字体。

注意: 如果字体系列的名称超过一个字,它必须用引号,如Font Family:"宋体"。

多个字体系列是用一个逗号分隔指明:

p{font-family:"Times New Roman", Times, serif;}

字体样式

font-style 主要是用于指定斜体文字的字体样式属性,这个属性有三个值:

正常 - 正常显示文本

斜体 - 以斜体字显示的文字

倾斜的文字 - 文字向一边倾斜(和斜体非常类似,但不太支持)

p.normal {font-style:normal;}

p.italic {font-style:italic;}

p.oblique {font-style:oblique;}

字体大小

font-size 属性设置文本的大小,不要通过调整字体大小使段落看上去像标题或者使标题看上去像段落,请务必使用正确的HTML标签。

字体大小的值可以是绝对或相对的大小。

绝对大小:

设置一个指定大小的文本

不允许用户在所有浏览器中改变文本大小

确定了输出的物理尺寸时绝对大小很有用

相对大小:

相对于周围的元素来设置大小

允许用户在浏览器中改变文字大小

注:如果你不指定一个字体的大小,默认大小和普通文本段落一样,是16像素(16px=1em)。

设置字体大小像素

设置文字的大小与像素,让您完全控制文字大小:

h1 {font-size:40px;}

h2 {font-size:30px;}

p {font-size:14px;}

用em来设置字体大小

为了避免Internet Explorer 中无法调整文本的问题,许多开发者使用 em 单位代替像素。em的尺寸单位由W3C建议,1em和当前字体大小相等,在浏览器中默认的文字大小是16px。

因此,1em的默认大小是16px,可以通过下面这个公式将像素转换为em:px/16=em

h1 {font-size:2.5em;} /* 40px/16=2.5em */

h2 {font-size:1.875em;} /* 30px/16=1.875em */

p {font-size:0.875em;} /* 14px/16=0.875em */

使用百分比和EM组合

在所有浏览器的解决方案中,设置 元素的默认字体大小的是百分比,可以显示相同的文本大小并允许所有浏览器缩放文本的大小:

body {font-size:100%;}

h1 {font-size:2.5em;}

h2 {font-size:1.875em;}

p {font-size:0.875em;}

链接样式

链接的样式可以用任何CSS属性(如颜色,字体,背景等),特别的链接可以有不同的样式,这取决于他们是什么状态,这四个链接状态是:

a:link - 正常,未访问过的链接

a:visited - 用户已访问过的链接

a:hover - 当用户鼠标放在链接上时

a:active - 链接被点击的那一刻

a:link {color:#000000;} /* 未访问链接*/

a:visited {color:#00FF00;} /* 已访问链接 */

a:hover {color:#FF00FF;} /* 鼠标移动到链接上 */

a:active {color:#0000FF;} /* 鼠标点击时 */

当设置为若干链路状态的样式,也有一些顺序规则:

a:hover 必须跟在 a:link 和 a:visited后面

a:active 必须跟在 a:hover后面

文本修饰

text-decoration 属性主要用于删除链接中的下划线:

a:link {text-decoration:none;}

a:visited {text-decoration:none;}

a:hover {text-decoration:underline;}

a:active {text-decoration:underline;}

背景颜色

背景颜色(background-color)属性指定链接背景色:

a:link {background-color:#B2FF99;}

a:visited {background-color:#FFFF85;}

a:hover {background-color:#FF704D;}

a:active {background-color:#FF704D;}

CSS 列表

CSS 列表属性作用如下:

设置不同的列表项标记为有序列表

设置不同的列表项标记为无序列表

设置列表项标记为图像

在 HTML中,有两种类型的列表:

无序列表 ul - 列表项标记用特殊图形(如小黑点、小方框等)

有序列表 ol - 列表项的标记有数字或字母

使用 CSS,可以列出进一步的样式,并可用图像作列表项标记。

不同的列表项标记(list-style-type)

list-style-type属性指定列表项标记的类型是:

ul.a {list-style-type: circle;}

ul.b {list-style-type: square;}

ol.c {list-style-type: upper-roman;}

ol.d {list-style-type: lower-alpha;}

作为列表项标记的图像(list-style-image)

要指定列表项标记的图像,使用列表样式图像属性 list-style-image:

ul

{

list-style-image: url('sqpurple.gif');

}

浏览器兼容性解决方案(ul li)

如果想在所有的浏览器放置同样的图像标志,就应使用浏览器兼容性解决方案,下面的例子会显示相同的图像标记:

ul

{

list-style-type: none;

padding: 0px;

margin: 0px;

}

ul li

{

background-image: url(sqpurple.gif);

background-repeat: no-repeat;

background-position: 0px 5px;

padding-left: 14px;

}

例子解释:

ul:

设置列表类型为没有列表项标记

设置填充和边距 0px(浏览器兼容性)

ul 中所有 li:

设置图像的 URL,并设置它只显示一次(无重复)

需要的定位图像位置(左 0px 和上下 5px)

用 padding-left 属性把文本置于列表中

列表项目标记的位置(list-style-position)

list-style-position 属性指示如何相对于对象的内容绘制列表项标记,属性定义及使用说明如下:

描述

inside

列表项目标记放置在文本以内,且环绕文本根据标记对齐。

outside

默认值,保持标记位于文本的左侧,列表项目标记放置在文本以外,且环绕文本不根据标记对齐。

inherit

规定应该从父元素继承 list-style-position 属性的值。

Outside:

  • Coffee
  • Tea
  • Coca-cola

Inside:

  • Coffee
  • Tea
  • Coca-cola

列表 - 简写属性(list-style)

在单个属性中可以指定所有的列表属性,就是所谓的简写属性。

为列表使用简写属性,列表样式属性设置如下:

ul

{

list-style: square url("sqpurple.gif");

}

可以按顺序设置如下属性:

list-style-type

list-style-position

list-style-image

如果上述值丢失一个,其余仍在指定的顺序,就没关系。

移除默认设置

list-style-type:none 属性可以用于移除小标记,默认情况下列表

      还设置了内边距和外边距,可使用 margin:0 和 padding:0 来移除:

      ul {

      list-style-type: none;

      margin: 0;

      padding: 0;

      }

      CSS 表格

      表格边框(border)

      使用border属性指定CSS表格边框,下面的例子指定了一个表格的Th和TD元素的黑色边框:

      table, th, td

      {

      border: 1px solid black;

      }

      折叠边框(border-collapse)

      border-collapse 属性设置表格的边框是否被折叠成一个单一的边框或隔开:

      table

      {

      border-collapse:collapse;

      }

      table,th, td

      {

      border: 1px solid black;

      }

      表格宽度和高度(Width和height)

      Width和height属性定义表格的宽度和高度,下面的例子是设置100%的宽度、50像素的th元素的高度的表格:

      table

      {

      width:100%;

      }

      th

      {

      height:50px;

      }

      表格文字对齐(text-align、vertical-align)

      text-align属性设置水平对齐方式,向左,右,或中心:

      td { text-align:right; }

      vertical-align 垂直对齐属性设置垂直对齐,比如顶部,底部或中间:

      td

      {

      height:50px;

      vertical-align:bottom;

      }

      表格填充(padding)

      如果要在表中控制内容和边框之间的空格,应使用td和th元素的填充属性:

      td {padding:15px;}

      表格颜色(background-color)

      下面的例子指定边框的颜色和th元素的文本和背景颜色:

      table, td, th

      {

      border:1px solid green;

      }

      th

      {

      background-color:green;

      color:white;

      }

      盒子模型(Box Model)

      所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

      CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

      盒模型允许我们在其它元素和周围元素边框之间的空间放置元素,下面的图片说明了盒子模型(Box Model):

      不同部分的说明:

      Margin(外边距) - 清除边框外的区域,外边距是透明的。

      Border(边框) - 围绕在内边距和内容外的边框。

      Padding(内边距) - 清除内容周围的区域,内边距是透明的。

      Content(内容) - 盒子的内容,显示文本和图像。

      元素的宽度和高度

      当指定一个 CSS 元素的宽度和高度属性时,只是设置内容区域的宽度和高度,完整大小的元素还必须添加内边距、边框和外边距。

      下面的例子中的元素的总宽度为300px:

      div {

      width: 300px;

      border: 25px solid green;

      padding: 25px;

      margin: 25px;

      }

      最终元素的总宽度计算公式是这样的:

      总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

      元素的总高度最终计算公式是这样的:

      总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

      上图的宽度:300px (宽)+ 50px (左 + 右填充)+ 50px (左 + 右边框)+ 50px (左 + 右边距)= 450px

      浏览器的兼容性问题

      根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。IE5.X 和 6 在怪异模式中使用自己的非标准模型, width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。

      目前最好的解决方案是回避这个问题:不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。

      IE8 及更早IE版本不支持设置填充的宽度和边框的宽度属性,在HTML页面声明 即可。

      边框(border)

      CSS边框属性允许指定一个元素边框的样式和颜色:

      属性

      描述

      border

      简写属性,用于把针对四个边的属性设置在一个声明。

      border-style

      用于设置元素所有边框的样式,或者单独地为各边设置边框样式。

      border-width

      简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。

      border-color

      简写属性,设置元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色。

      border-bottom

      简写属性,用于把下边框的所有属性设置到一个声明中。

      border-bottom-color

      设置元素的下边框的颜色。

      border-bottom-style

      设置元素的下边框的样式。

      border-bottom-width

      设置元素的下边框的宽度。

      border-left

      简写属性,用于把左边框的所有属性设置到一个声明中。

      border-left-color

      设置元素的左边框的颜色。

      border-left-style

      设置元素的左边框的样式。

      border-left-width

      设置元素的左边框的宽度。

      border-right

      简写属性,用于把右边框的所有属性设置到一个声明中。

      border-right-color

      设置元素的右边框的颜色。

      border-right-style

      设置元素的右边框的样式。

      border-right-width

      设置元素的右边框的宽度。

      border-top

      简写属性,用于把上边框的所有属性设置到一个声明中。

      border-top-color

      设置元素的上边框的颜色。

      border-top-style

      设置元素的上边框的样式。

      border-top-width

      设置元素的上边框的宽度。

      边框样式(border-style)

      边框样式属性(border-style)用来定义边框的样式,指定要显示什么样的边界:

      宽度(border-width)、颜色(border-color)

      可以通过border-width属性为边框指定宽度,为边框指定宽度有两种方法:

      指定长度值,比如 2px 或 0.1em(单位为 px, pt, cm, em 等)

      使用 3 个关键字之一(CSS 没有定义 3 个关键字的具体宽度):thick 、medium(默认值) 和 thin

      border-color属性用于设置边框的颜色,可以设置的颜色:

      name - 指定颜色的名称,如 "red"

      RGB - 指定 RGB 值, 如 "rgb(255,0,0)"

      Hex - 指定16进制值, 如 "#ff0000"

      还可以设置边框的颜色为"transparent"

      p.one

      {

      border-style:solid;

      border-width:5px;

      border-color:red;

      }

      p.two

      {

      border-style:solid;

      border-width:medium;

      border-color:#98bf21;

      }

      注:border-width、border-color单独使用是不起作用的,必须得先使用border-style来设置边框样式。

      单独设置各边

      在CSS中,可以指定不同的侧面不同的边框:

      p

      {

      border-top-style:dotted;

      border-right-style:solid;

      border-bottom-style:dotted;

      border-left-style:solid;

      }

      上面的例子也可以设置一个单一属性:

      border-style:dotted solid;

      border-style属性可以有1-4个值,按照顺序分别是:

      上边框、右边框、底边框、左边框

      上边框、左右边框、底边框

      上底边框、右左边框

      四面边框

      上面的例子用了border-style,border-width 、 border-color也是同理。

      简写属性

      可以在一个"border"属性中设置:border-width、border-style (required)、border-color。

      border:5px solid red;

      轮廓(outline)

      轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

      轮廓(outline)属性指定元素轮廓的样式、颜色和宽度,不会增加额外的width或者height。

      属性

      说明

      outline

      在一个声明中设置所有的轮廓属性

      outline-color

      设置轮廓的颜色

      outline-style

      设置轮廓的样式

      outline-width

      设置轮廓的宽度

      外边距、填充

      margin(外边距)

      **margin(外边距)属性定义元素周围的空间,清除周围的(外边框)元素区域,没有背景颜色、是完全透明的。

      margin可以单独改变元素的上、下、左、右边距,也可以一次改变所有的外边距属性。

      边距属性:

      属性

      描述

      margin

      简写属性。在一个声明中设置所有外边距属性。

      margin-bottom

      设置元素的下外边距。

      margin-left

      设置元素的左外边距。

      margin-right

      设置元素的右外边距。

      margin-top

      设置元素的上外边距。

      值的类型:

      说明

      auto

      设置浏览器边距。

      这样做的结果会依赖于浏览器

      length

      定义一个固定的margin(使用像素,pt,em等)

      %

      定义一个使用百分比的边距

      padding(填充)

      padding(填充)是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距。

      padding可以单独改变元素的上、下、左、右填充,也可以一次改变所有的填充属性。

      填充属性:

      属性

      说明

      padding

      使用简写属性设置在一个声明中的所有填充属性

      padding-bottom

      设置元素的底部填充

      padding-left

      设置元素的左部填充

      padding-right

      设置元素的右部填充

      padding-top

      设置元素的顶部填充

      值的类型:

      说明

      length

      定义一个固定的填充(像素, pt, em,等)

      %

      使用百分比值定义一个填充

      简写属性

      所有边距属性的简写属性是 margin ,所有的填充属性的简写属性是 padding ,可以有一到四个值。

      上、右、下、左

      上、左右、下

      上下、左右

      上下左右

      margin:25px 50px 75px 100px;

      padding:25px 50px 75px 100px;

      分组和嵌套选择器

      分组选择器

      在样式表中有很多具有相同样式的元素:

      h1 { color:green; }

      h2 { color:green; }

      p { color:green; }

      为了尽量减少代码,可以使用分组选择器,每个选择器用逗号分隔。

      对以上代码使用分组选择器:

      h1,h2,p { color:green; }

      嵌套选择器

      它可能适用于选择器内部的选择器的样式,在下面的例子设置了四个样式:

      p{ }: 为所有 p 元素指定一个样式。

      .marked{ }: 为所有 class="marked" 的元素指定一个样式。

      .marked p{ }: 为所有 class="marked" 元素内的 p 元素指定一个样式。

      p.marked{ }: 为所有 class="marked" 的 p 元素指定一个样式。

      p { color:blue; text-align:center; }

      .marked { background-color:red; }

      .marked p { color:white; }

      p.marked{ text-decoration:underline; }

      元素尺寸

      尺寸 (Dimension) 属性允许控制元素的高度和宽度,允许增加行间距:

      属性

      描述

      height

      设置元素的高度。

      line-height

      设置行高。

      max-height

      设置元素的最大高度。

      max-width

      设置元素的最大宽度。

      min-height

      设置元素的最小高度。

      min-width

      设置元素的最小宽度。

      width

      设置元素的宽度。

      Display(显示) 与 Visibility(可见性)

      display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏。

      隐藏元素 - display:none或visibility:hidden

      隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden",两种方法会产生不同的结果:

      visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间,仍然会影响布局。

      display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间,该元素原本占用的空间也会从页面布局中消失。

      h1.hidden {visibility:hidden;}

      h1.hidden {display:none;}

      Display - 块和内联元素

      块元素是一个元素,占用了全部宽度,在前后都是换行符,如:h1、p、div等。

      内联元素只需要必要的宽度,不强制换行,如:span、a等。

      display 属性规定元素应该生成的框的类型,可以更改为内联元素和块元素,使页面看起来是以一种特定的方式组合。

      下面的示例把列表项显示为内联元素、把span元素作为块元素:

      li {display:inline;}

      span {display:block;}

      html代码:

      链接列表水平显示:

      Nirvana

      Record: MTV Unplugged in New York

      Year: 1993

      Radiohead

      Record: OK Computer

      Year: 1997

      结果如下:

      定位属性

      所有的CSS定位属性:

      属性

      说明

      CSS

      bottom

      定义了定位元素下外边距边界与其包含块下边界之间的偏移。

      clip

      剪辑一个绝对定位的元素

      cursor

      显示光标移动到指定的类型

      left

      定义了定位元素左外边距边界与其包含块左边界之间的偏移。

      设置当元素的内容溢出其区域时发生的事情。

      指定如何处理顶部/底部边缘的内容溢出元素的内容区域

      指定如何处理右边/左边边缘的内容溢出元素的内容区域

      position

      指定元素的定位类型

      right

      定义了定位元素右外边距边界与其包含块右边界之间的偏移。

      top

      定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。

      z-index

      设置元素的堆叠顺序

      Position(定位)

      position属性指定了元素的定位类型,属性的五个值:

      static:HTML元素的默认值,即没有定位,遵循正常的文档流对象,静态定位的元素不会受到 top、bottom、left、right影响。

      relative:相对定位元素的定位是相对其正常位置,移动相对定位元素,但它原本所占的空间不会改变,相对定位元素经常被用来作为绝对定位元素的容器块。

      fixed:元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动。元素的位置与文档流无关,不占据空间,定位的元素和其他元素重叠。

      absolute:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于html。定位使元素的位置与文档流无关,不占据空间,定位的元素和其他元素重叠。

      sticky:粘性定位,基于用户的滚动位置来定位。粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。未滚动时,它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;会固定在目标位置。元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。这个特定阈值指的是 top、right、bottom 或 left 之一,指定四个阈值其中之一才可使粘性定位生效,否则其行为与相对定位相同。

      元素可以使用的顶部、底部、左侧和右侧属性定位,然而必须先设定position属性。

      重叠的元素(z-index)

      元素的定位与文档流无关,可以覆盖页面上的其它元素。z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面),一个元素可以有正数或负数的堆叠顺序,具有更高堆叠顺序的元素总是在较低的堆叠顺序元素的前面。

      如果两个定位元素重叠,没有指定z - index,最后定位在HTML代码中的元素将被显示在最前面。

      img

      {

      position:absolute;

      left:0px;

      top:0px;

      z-index:-1;

      }

      布局 - Overflow

      overflow 属性可以控制内容溢出元素框时在对应的元素区间内添加滚动条,overflow属性有以下值:

      描述

      visible

      默认值。内容不会被修剪,会呈现在元素框之外。

      hidden

      内容会被修剪,并且其余内容是不可见的。

      scroll

      内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。

      auto

      如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

      inherit

      规定应该从父元素继承 overflow 属性的值。

      注:overflow 属性只工作于指定高度的块元素上,默认情况下overflow 的值为 visible, 意思是内容溢出元素框。

      浮动属性

      所有的浮动属性:

      属性

      描述

      clear

      指定不允许元素周围有浮动元素。

      left 、right、both、none、inherit

      float

      指定一个盒子(元素)是否可以浮动。

      left、right、none、inherit

      float(浮动)

      float(浮动)会使元素向左或向右移动,其周围的元素也会重新排列。

      float(浮动),往往是用于图像,但它在布局时一样非常有用。

      元素按如下方式浮动:

      元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

      一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

      浮动元素之后的元素将围绕它,浮动元素之前的元素将不会受到影响。

      彼此相邻的浮动元素:把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。

      清除浮动 - 使用 clear

      元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性——指定元素两侧不能出现浮动元素。

      布局 - 水平 & 垂直对齐

      元素居中对齐(margin: auto)

      要水平居中对齐一个元素(如 div), 可以使用 margin: auto;:

      设置到元素的宽度将防止它溢出到容器的边缘。

      元素通过指定宽度,并将两边的空外边距平均分配。

      .center { margin: auto; width: 60%; }

      注: 如果没有设置 width 属性(或者设置 100%),居中对齐将不起作用。

      文本居中对齐(text-align: center)

      如果仅仅是为了文本在元素内居中对齐,可以使用 text-align: center;:

      .center { text-align: center; }

      图片居中对齐(margin: auto)

      要让图片居中对齐, 可以使用 margin: auto; 并将它放到 块 元素中:

      img {

      display: block;

      margin: auto;

      width: 40%;

      }

      左右对齐

      使用定位(position)方式

      可以使用 position: absolute; 属性来对齐元素:

      .right {

      position: absolute;

      right: 0px;

      width: 300px;

      border: 3px solid #73AD21;

      padding: 10px;

      }

      注:绝对定位元素会被从正常流中删除,并且能够交叠元素。

      使用浮动(float)方式

      可以使用 float 属性来对齐元素:

      .right {

      float: right;

      width: 300px;

      border: 3px solid #73AD21;

      padding: 10px;

      }

      注:如果子元素的高度大于父元素,且子元素设置了浮动,那么子元素将溢出,这时候可以使用 "clearfix(清除浮动)" 来解决该问题。

      .clearfix {overflow: auto;}

      垂直居中对齐

      使用 padding

      简单方式就是头部顶部使用 padding(要水平和垂直都居中可以使用 padding 和 text-align: center):

      .center {

      padding: 70px 0;

      border: 3px solid green;

      text-align: center;

      }

      使用 line-height

      .center {

      line-height: 200px;

      height: 200px;

      border: 3px solid green;

      text-align: center;

      }

      /* 如果文本有多行,添加以下代码: */

      .center p {

      line-height: 1.5;

      display: inline-block;

      vertical-align: middle;

      }

      使用 position 和 transform

      还可以使用 transform 属性来设置垂直居中:

      .center {

      height: 200px;

      position: relative;

      border: 3px solid green;

      }

      .center p {

      margin: 0;

      position: absolute;

      top: 50%;

      left: 50%;

      transform: translate(-50%, -50%);

      }

      组合选择符

      组合选择符包括各种简单选择符的组合方式,在 CSS3 中包含了四种组合方式:

      后代选择器(以 空格分隔)

      子元素选择器(以 大于 > 号分隔)

      相邻兄弟选择器(以 加号 + 分隔)

      普通兄弟选择器(以 波浪号 ~ 分隔)

      后代选择器

      后代选择器用于选取某元素的后代元素,选取所有插入到 div 元素中的 p 元素:

      div p { background-color:yellow; }

      子元素选择器

      与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素直接/一级子元素的元素,选择 div元素中所有直接子元素 p :

      div>p { background-color:yellow; }

      相邻兄弟选择器

      相邻兄弟选择器可选择紧接在另一元素后的元素,且二者有相同父元素,选取所有位于 div 元素后的第一个 p 元素:

      div+p { background-color:yellow; }

      后续兄弟选择器

      后续兄弟选择器选取所有指定元素之后的相邻兄弟元素,选取所有 div 元素之后的所有相邻兄弟元素 p :

      div~p { background-color:yellow; }

      伪类(Pseudo-classes)

      伪类是用来添加一些选择器的特殊效果,可以看作以选中元素为基准点此元素的一些状态或属性。

      伪类选择元素基于的是当前元素处于的状态(当前所具有的特性),由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。

      语法

      伪类的语法:

      selector:pseudo-class {property:value;}

      伪类也可以使用伪类:

      selector.class:pseudo-class {property:value;}

      anchor伪类

      在支持 CSS 的浏览器中,链接的不同状态都可以以不同的方式显示:

      a:link {color:#FF0000;} /* 未访问的链接 */

      a:visited {color:#00FF00;} /* 已访问的链接 */

      a:hover {color:#FF00FF;} /* 鼠标划过链接 */

      a:active {color:#0000FF;} /* 已选中的链接 */

      注:a:hover 必须被置于 a:link 和 a:visited 之后才是有效的,a:active 必须被置于 a:hover 之后才是有效的,伪类的名称不区分大小写。

      伪类和CSS类

      伪类可以与 CSS 类配合使用:

      a.red:visited {color:#FF0000;}

      CSS 语法

      first-child 伪类

      可以使用 :first-child 伪类来选择父元素的第一个子元素。

      选择器匹配作为任何元素的第一个子元素的 p 元素:

      p:first-child { color:blue; }

      匹配所有 p 元素中的第一个 i 元素:

      p > i:first-child { color:blue; }

      匹配所有作为第一个子元素的 p 元素中的所有 i 元素:

      p:first-child i { color:blue; }

      lang 伪类

      :lang 伪类可以为不同的语言定义特殊的规则,为属性值为 no 的q元素定义引号的类型:

      q:lang(no) {quotes: "~" "~";}

      伪元素

      伪元素是对元素中的特定内容进行操作,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。

      语法

      伪元素的语法:

      selector:pseudo-element {property:value;}

      CSS类也可以使用伪元素:

      selector.class:pseudo-element {property:value;}

      :first-line 伪元素

      "first-line" 伪元素用于向文本的首行设置特殊样式,对 p 元素的第一行文本进行格式化:

      p:first-line

      {

      color:#ff0000;

      font-variant:small-caps;

      }

      注:"first-line" 伪元素只能用于块级元素。

      :first-letter 伪元素

      "first-letter" 伪元素用于向文本的首字母设置特殊样式:

      p:first-letter

      {

      color:#ff0000;

      font-size:xx-large;

      }

      注:"first-letter" 伪元素只能用于块级元素。

      伪元素和CSS类

      伪元素可以结合CSS类,使所有 class 为 article 的段落的首字母变为红色:

      p.article:first-letter {color:#ff0000;}

      文章段落

      多个伪元素

      可以结合多个伪元素来使用,下面段落的第一个字母将显示为红色(字体大小为 xx-large),第一行中的其余文本将为蓝色(以小型大写字母显示),段落中的其余文本将以默认字体大小和颜色来显示:

      p:first-letter

      {

      color:#ff0000;

      font-size:xx-large;

      }

      p:first-line

      {

      color:#0000ff;

      font-variant:small-caps;

      }

      :before 伪元素

      ":before" 伪元素可以在元素的内容前面插入新内容,在每个 h1 元素前面插入一幅图片:

      h1:before { content:url(smiley.gif); }

      :after 伪元素

      ":after" 伪元素可以在元素的内容之后插入新内容,在每个 h1 元素后面插入一幅图片:

      h1:after { content:url(smiley.gif); }

      导航栏

      使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单。

      导航栏=链接列表

      作为标准的HTML基础一个导航栏是必须的,下面的例子将建立一个标准的HTML列表导航栏。

      导航条基本上是一个链接列表,所以使用

相关推荐

海尔空调柜机过滤网怎么拆卸图解说明(详细教程附带图片)
英雄岛职业搭配;英雄岛什么职业最强
365bet365用址

英雄岛职业搭配;英雄岛什么职业最强

🗓️ 10-06 👁️ 2434
【DIY烹飪教學】如何自己做披薩Pizza
365bet官网网址是多少

【DIY烹飪教學】如何自己做披薩Pizza

🗓️ 08-24 👁️ 7778
帷帟的意思
365bet中文版客户端

帷帟的意思

🗓️ 11-27 👁️ 2046
手机进入路由器设置页面
365bet官网网址是多少

手机进入路由器设置页面

🗓️ 06-28 👁️ 6942
dnf升级哪个等级最慢
365bet官网网址是多少

dnf升级哪个等级最慢

🗓️ 10-05 👁️ 7164