标签之间的关系 :
祖先元素:直接或间接包含后代元素的元素。
后代元素:直接或间接被祖先元素包含的元素。
父元素:直接包含子元素的元素。
子元素:直接被父元素包含的元素。
兄弟元素:拥有相同父元素的元素。
内联框架:
使用内联框架可以引用一个外部的页面使用iframe来创建一个内联框架
属性:
src:指向一个外部页面的路径,可以使用相对路径
width:引入的页面宽度
height:引入的页面高度
name:可以为内联框架指定一个name属性
在现实开发中不推荐使用内联框架,因为内联框架中的内容不会被搜索引擎所检索
<iframe src = "引入页面的路径” name = “属性名称”></iframe>
超链接与内联框架的用法:
可以设置一个内联框架的name属性值,链接将会在指定的内联框架中打开
<a href="跳转网址” target=“属性名称”></a>
<iframe src = "引入页面的路径” name = “属性名称”></iframe>
CSS选择器:
内部样式表:
可以将CSS样式编写到head中的style标签里,称为内部样式表
将样式表编写的style标签中,然后通过CSS选择器选中指定元素
然后可以同时为这些元素一起设置样式,这样可以使样式进一步的复用
将样式表编写到style标签中,也可以使表现和结构进一步分离,它也是我们推荐的使用方式
<style type=“text/css”></style>
元素选择器----p{}:选中所有<p></p>
类选择器---------.class类名{}:选中所有class元素
ID选择器------------#id{}:比如#box会选中页面中id属性值为box的元素,和class属性不同,id属性是不能重 复的。
复合选择器------------------选择器1选择器2{}:例如div.box1会选中页面中具有box1这个class的div元素。
群组选择器-------选择器1,选择器2,选择器3 { }:比如p,.hello,#box会同时选中页面中p元素,class为hello的元素,id为box的元素。
通用选择器-------*{ }:可以同时选中页面中的所有 元素。
后代选择器--------祖先元素 后代元素 后代元素 { }:比如p strong 会选中页面中所有的p元素 内的strong元素。
外部样式表:
还可以将样式表编写到外部的CSS文件中,然后通过link标签来将外部的CSS文件引入到当前页面中
这样外部文件中的CSS样式表将会应用到当前页面中
将CSS样式统一编写到外部的样式表中,完全使结构和表现分离,可以使样式表在不同的页面中使用
最大限度地使样式可以进行复用,将样式统一写在样式表中,然后通过link标签引入
可以利用浏览器的缓存,加快用户访问的速度,提高了用户体验
所以在开发中我们最推荐使用的方式就是外部的CSS文件
<link rel =“stylesheet” tyle = “text/css” href = “style.css(外部文件名称)”>
内联样式表:
可以将CSS样式编写到元素的style属性当中,这种样式称为内联样式内联样式只对当前的元素中的内容起作用,内联样式不方便复用内联样式属于结构与表现耦合,不方便后期的维护,不推荐使用的
<p style = “设置属性”></p>
伪类选择器:
给链接定义样式:
有四个伪类可以让你根据访问者与该链接的交互方式,将链接设置成4种不同的状态。
a:link:正常链接
a:visited(只能定义字体颜色):访问过的链接
a:hover:鼠标滑过的链接
a:active:正在点击的链接
为p标签中选中的内容使用样式可以使用::selection伪类
注意:这个伪类在火狐中需要采用另一种方式编写
::-moz-selection
获取焦点(鼠标):input:focus[ ]
指定元素最前面:before
指定元素最后面:after
给段落定义样式:
首字母:first-letter
首行:first-line
块元素和内联元素
块元素
所谓的块元素就是会独占一行的元素 无论它的内容有多少,它都会独占一整行
常见的块元素:div p h1 h2 h3……
div这个标签没有任何语义,就是一个纯粹的块元素 并且不会为它里边的元素设置任何的默认样式 div元素主要用来对页面进行布局的
内联元素(行内元素)
所谓的行内元素指的是只占自身大小的元素,不会占用一行
常见的内联元素:span a img iframe
span没有任何语义,span标签专门用来选中文字,然后为文字来设置样式块元素主要用来做页面中的布局,内联元素主要用来选中文本设置样式
一般情况下只使用块元素去包含内联元素,而不会使用内联元素去包含一个块元素
a元素可以包含任意元素,除了他本身
p元素不可以包含任何其它的块元素
我们可以为元素设置class属性
它和id属性类似,只不过class属性可以重复
拥有相同class属性值的元素,我们说他们是一组元素
可以同时为一个元素设置多个class属性值,多个值之间使用空格隔开
后代元素选择器
作用:选中指定元素的指定后代元素
语法:祖先元素 后代元素{}
子元素选择器
作用:选中指定父元素的指定子元素
语法:父元素 > 子元素
:first-child 可以选中第一个子元素
:last-child 可以选中最后一个子元素
:nth-child 可以选中任意位置的子元素
该选择器后边可以指定一个参数,指定要选中第几个子元素
even 表示偶数位置的子元素
odd 表示奇数位置的子元素
和child类似,只不过child是在所有的子元素中找
而type是在当前类型的子元素中找
:first-of-type
:last-of-type
:nth-of-type
兄弟元素选择器:
后一个兄弟元素选择器
作用:可以选中一个元素后紧挨着的指定的兄弟元素
语法:前一个 + 后一个
span + p[ ]
否定伪类:
作用:可以从已选中的元素中剔除出某些元素
语法: :not(选择器)
例如:p:not(.hello){ }