青岛网站建设价格,买个域名,安阳青峰网站建设,app软件开发学什么专业本文最初发表于博客园#xff0c;并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我#xff0c;一起入门和进阶前端。 以下是正文。 伪类#xff08;伪类选择器#xff09;
伪类#xff1a;同一个标签#xff0c;根据其不同的种状态#xff0c;有不同的样式。… 本文最初发表于博客园并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我一起入门和进阶前端。 以下是正文。 伪类伪类选择器
伪类同一个标签根据其不同的种状态有不同的样式。这就叫做“伪类”。伪类用冒号来表示。
比如div是属于box类这一点很明确就是属于box类。但是a属于什么类不明确。因为需要看用户点击前是什么状态点击后是什么状态。所以就叫做“伪类”。
静态伪类和动态伪类
伪类选择器分为两种。
1静态伪类只能用于超链接的样式。如下
:link 超链接点击之前:visited 链接被访问过之后
PS以上两种样式只能用于超链接。
2动态伪类针对所有标签都适用的样式。如下
:hover “悬停”鼠标放到标签上的时候:active “激活” 鼠标点击标签但是不松手时。:focus 是某个标签获得焦点时的样式比如某个输入框获得焦点
PS以上三种样式只能用于超链接。
超链接a标签
超链接的四种状态
a标签有4种伪类即对应四种状态要求背诵。如下
:link “链接”超链接点击之前:visited “访问过的”链接被访问过之后:hover “悬停”鼠标放到标签上的时候:active “激活” 鼠标点击标签但是不松手时。
对应的代码如下不带注释 a:link{color:red;}a:visited{color:orange;}a:hover{color:green;}a:active{color:black;}
对应的代码如下带注释 /*让超链接点击之前是红色*/a:link{color:red;}/*让超链接点击之后是绿色*/a:visited{color:orange;}/*鼠标悬停放到标签上的时候*/a:hover{color:green;}/*鼠标点击链接但是不松手的时候*/a:active{color:black;
记住在css中这四种状态必须按照固定的顺序写 a:link 、a:visited 、a:hover 、a:active 如果不按照顺序那么将失效。“爱恨准则”love hate。必须先爱后恨。
看一下这四种状态的动图效果 超链接的美化
问既然
a{}定义了超链的属性和
a:link{}定义了超链点击之前的属性那这两个有啥区别呢答 a{}
和a:link{}的区别a{}定义的样式针对所有的超链接(包括锚点)a:link{}定义的样式针对所有写了href属性的超链接(不包括锚点)
超链接a标签在使用的时候比较难。因为不仅仅要控制a这个盒子也要控制它的伪类。
我们一定要将a标签写在前面将
:link、:visited、:hover、:active这些伪类写在后面。举个例子。如果效果 为了实现上面这个效果完整版代码如下
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtml xml:langen
headmeta http-equivContent-Type contenttext/html;charsetUTF-8titleDocument/titlestyle typetext/css*{margin: 0;padding: 0;}.nav{width: 960px;height: 50px;border: 1px solid red;margin: 100px auto;}.nav ul{/*去掉小圆点*/list-style: none;}.nav ul li{float: left;width: 120px;height: 50px;/*让内容水平居中*/text-align: center;/*让行高等于nav的高度就可以保证内容垂直居中*/line-height: 50px;}.nav ul li a{display: block;width: 120px;height: 50px;}/*两个伪类的属性可以用逗号隔开*/.nav ul li a:link , .nav ul li a:visited{text-decoration: none;background-color: purple;color:white;}.nav ul li a:hover{background-color: orange;}/style
/head
bodydiv classnavullia href#网站栏目/a/lilia href#网站栏目/a/lilia href#网站栏目/a/lilia href#网站栏目/a/lilia href#网站栏目/a/lilia href#网站栏目/a/lilia href#网站栏目/a/lilia href#网站栏目/a/li/ul/div
/body
/html
上方代码中我们发现当我们在定义
a:link和
a:visited这两个伪类的时候如果它们的属性相同我们其实可以写在一起用逗号隔开就好摘抄如下.nav ul li a{display: block;width: 120px;height: 50px;}/*两个伪类的属性可以用逗号隔开*/.nav ul li a:link , .nav ul li a:visited{text-decoration: none;background-color: purple;color:white;}.nav ul li a:hover{background-color: orange;}
如上方代码所示最标准的写法就是把link、visited、hover这三个伪类都要写。但是前端开发工程师在大量的实践中发现不写link、visited也挺兼容。写法是 a:link、a:visited都是可以省略的简写在a标签里面。也就是说a标签涵盖了link、visited的状态前提是都具有了相同的属性。写法如下 .nav ul li a{display: block;width: 120px;height: 50px;text-decoration: none;background-color: purple;color:white;}.nav ul li a:hover{background-color: orange;}当然了在写
a:link、
a:visited这两个伪类的时候要么同时写要么同时不写。如果只写
a属性和
a:link属性不规范。动态伪类举例
我们在第一段中描述过下面这三种动态伪类针对所有标签都适用。
:hover “悬停”鼠标放到标签上的时候:active “激活” 鼠标点击标签但是不松手时。:focus 是某个标签获得焦点时的样式比如某个输入框获得焦点
我们不妨来举下例子。
举例1 style typetext/css/*伪类选择器动态伪类*//*让文本框获取焦点时边框#FF6F3D这种橙色文字绿色背景色#6a6a6a这种灰色*/input:focus{border:3px solid #FF6F3D;color:white;background-color:#6a6a6a;}/*鼠标放在标签上时显示蓝色*/label:hover{color:blue;}/*点击标签鼠标没有松开时显示红色*/label:active{color:red;}/style
效果 利用这个
hover属性我们同样对表格做一个样式的设置表格举例!doctype html
html langenheadmeta charsetUTF-8meta nameGenerator contentEditPlus®meta nameAuthor contentmeta nameKeywords contentmeta nameDescription contenttitleDocument/titlestyle typetext/css/*整个表格的样式*/table{width: 300px;height: 200px;border: 1px solid blue;/*border-collapse属性对表格的线进行折叠*/border-collapse: collapse;}/*鼠标悬停时让当前行显示#868686这种灰色*/table tr:hover{background: #868686;}/*每个单元格的样式*/table td{border:1px solid red;}/style/headbodytabletrtd/tdtd/tdtd/tdtd/td/trtrtd/tdtd/tdtd/tdtd/td/trtrtd/tdtd/tdtd/tdtd/td/tr/table/body
/html
效果 我的公众号
想学习代码之外的软技能不妨关注我的微信公众号生命团队id
vitateam。扫一扫你将发现另一个全新的世界而这将是一场美丽的意外