锚伪类 就是在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:已被访问状态,未被访问状态,鼠标悬停状态、活动状态(选定)。
a:link{color: #FF0000}/* 未访问的链接 */
a:visited{color: #00FF00}/* 已访问的链接 */
a:hover{color: #FF00FF}/* 鼠标移动到链接上 */(hover可用于所有元素,不只是链接)
a:active{color: #0000FF}/* 选定的链接 */
注:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的a:active 必须被置于 a:hover 之后,才是有效的。链接可以设置字体颜色,字体大小,字体类型,背景颜色等等。
①选择<li>列表中的第一个元素并设置其样式:
li:first-child{background:yellow}
注:和②的区别是,无论是<ul>,还是<ol>,第一个元素样式都是一样
②设置每个<ul>的首个子元素,并设置其样式:
ul>:first-child{background:yellow}
注:只有<ul>中第一个元素改变
③没太理解(如下图)
:first-child 匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。
:first-of-type 匹配的是某父元素下相同类型子元素中的第一个,比如 p:first-of-type,就是指所有类型为p的子元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了。
一.加一个空元素,<div class="clear"></div>,然后在css里面写语句clear{clear:both}就可以可清除浮动。(之前7.20写过)
二.在css样式中添加语句overflow:hidden或overflow:auto可以清除浮动,例如为父元素设置容器宽高或设置 *zoom:1。(浮动元素又回到了容器层,把容器高度撑起)等方法
为什么要清除浮动,在非IE浏览器下,当容器的高度为auto,且容器的内容中有浮动的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理。
display 设置或检索对象是否及如何显示。display: none 隐藏对象
display:block 除了转换为块级元素之外,同时还有显示元素的意思。
登录后复制
特点: display 隐藏元素后,不再占有原来的位置。
后面应用及其广泛,搭配 JS 可以做很多的网页特效。实际开发场景:
配合后面js做特效,比如下拉菜单,原先没有,鼠标经过,显示下拉菜单, 应用极为广泛
二、visibility 可见性 (了解)
visibility 属性用于指定一个元素应可见还是隐藏。
visibility:visible 元素可视
visibility:hidden 元素隐藏
登录后复制
特点:visibility 隐藏元素后,继续占有原来的位置。(停职留薪)
如果隐藏元素想要原来位置, 就用 visibility:hidden
如果隐藏元素不想要原来位置, 就用 display:none (用处更多 重点)
三、overflow 溢出(重点)
overflow 属性指定了如果内容溢出一个元素的框(超过其指定高度及宽度) 时,会发生什么。
属性值 描述
visible 不剪切内容也不添加滚动条
hidden 不显示超过对象尺寸的内容,超出的部分隐藏掉
scroll 不管超出内容否,总是显示滚动条
auto 超出自动显示滚动条,不超出不显示滚动条
一般情况下,我们都不想让溢出的内容显示出来,因为溢出的部分会影响布局。
但是如果有定位的盒子, 请慎用overflow:hidden 因为它会隐藏多余的部分。
四、显示与隐藏总结
属性 区别 用途
display 显示 (重点) 隐藏对象,不保留位置 配合后面js做特效,比如下拉菜单,原先没有,鼠标经过,显示下拉菜单, 应用极为广泛
visibility 可见性 (了解) 隐藏对象,保留位置 使用较少
overflow 溢出(重点) 只是隐藏超出大小的部分 1. 可以清除浮动 2. 保证盒子里面的内容不会超出该盒子范围
css
javascript
一般来说,是不给你a设置全局的,但是,如果你硬要这么问的话。你可以将你不需要的a:hover,加上一个class(比如:aa),然后.aa:hover{
样式就根据原来复制一遍就好了(是a的样式,不是a:hover的)。
}