超级链接美化

1.伪类

同一个超级链接,根据用户的点击情况,有自己样式:

超级链接根据用户点选情况,有4种状态:

a:link 没有访问的超级链接

a:visited 已经访问的超级链接

a:hover 鼠标悬停的时候

a:active 鼠标按下的时候

  1. <style type="text/css">
  2. a:link{
  3. color:orange;
  4. }
  5. a:visited{
  6. color:green;
  7. }
  8. a:hover{
  9. color:black;
  10. font-size: 20px;
  11. border: 1px solid black;
  12. }
  13. a:active{
  14. font-size: 30px;
  15. }
  16. </style>

在css里面叫做类,这个东西是工程师加的,可以明确的指定某一个标签是什么类;

但是:link、:visited,是用户指定的状态,在页面编辑的时候,我们只能定义,但是不知道是属于什么类,所以叫做“伪类”。

2.爱恨准则

先爱了,才能恨。

css有规定,四个伪类的顺序必须是:

link、visited、hover、active

love hate的顺序一样,所以可以帮助记忆,叫做“爱恨准则”。

如果顺序不一样,那么就有可能一些样式会错乱。

注意,可以省略某个,但是顺序不能变。比如我们省略visited,那么:link、hover、active

3.常见写法

一般的,我们都会把a:link、a:visited写在一起, 这样点过和没有点过样式一样:

  1. <style type="text/css">
  2. a:link,a:visited{
  3. text-decoration: underline;
  4. color:#333;
  5. }
  6. a:hover{
  7. color:red;
  8. }
  9. </style>

如果a要转块、设置宽高,那么我们一般习惯把盒模型的属性写在a这个选择器里。把关于文字的属性,写在伪类选择器中。特别的,一定要记住text-decoration一定要写在伪类里面,或者a标签里,绝对不能从父亲继承,因为父亲继承来的text-decoration:none;干不掉超级链接默认的下划线。

  1. .nav ul li a{
  2. display: block;
  3. width: 120px;
  4. height: 40px;
  5. }
  6. .nav ul li a:link , .nav ul li a:visited{
  7. text-decoration: none;
  8. color:white;
  9. }
  10. .nav ul li a:hover{
  11. background-color: gold;
  12. }

a这个选择器,“暗含”了a:linka:visited,所以也可以不写a:linka:visited,直接写a:hover

  1. .nav ul li a{
  2. display: block;
  3. width: 120px;
  4. height: 40px;
  5. text-decoration: none;
  6. color:white;
  7. }
  8. .nav ul li a:hover{
  9. background-color: gold;
  10. }

伪类的权重和类一样,如果增加了一个类选择器。

background系列属性

1.background-color

背景颜色属性background-color:#f00;

没有什么好说的,我们一直在用,记住,padding区域也有背景颜色!border以内的地方都有颜色。

2.background-image

背景图片属性background-image:url(images/1.jpg);

url是uniform resource locator统一资源定位器的意思,说人话就是“网站”。

url里面没有引号,是相对路径、绝对路径都是可以的。

和插入图片不一样

背景图的应用

<img src=”” />

背景图片会默认的横向、纵向铺很多个。

3.background-repeat

repeat就是重复的意思

background-repeat:no-repeat;

background-repeat:repeat-x;

background-repeat:repeat-y;

  1. background-image: url(images/libai.png);
  2. background-repeat: repeat-y;

4.background-position

图片位置属性。

background-position:100px 200px;

表示让背景图片在盒子中向右移动100px,向下移动200px。

如果想向左、向下移动,要写负数。

background-position最常见的用处就是“CSS精灵”css sprite,有些人叫做“CSS雪碧技术”。

就是指把多个小杂碎图片,合成一张图片,然后用background-position定位只显示其中某一部分。

这样能够显著降低HTTP请求数。原来10个背景需要用10张图片,但是现在只需要1个。

background-position不仅仅可以用两个数字来定位,还可以用单词来定位。

在左右层面,我们用left、center、right来表示左、中、右

在上下层面,我们用top、center、bottom来表示上、中、下

先左右后上下

background-position:left bottom;

可以用百分比来表示background-position

backgrond-position:50% 0;等价于 background-position:center top;

假设盒子现在宽度是600px,背景图的宽度是121px,所以

background-position:center top;

等价于:background-position:50% 0;

等价于:background-position:239.5px 0;

怎么计算来的?

600 / 2 - 121 /2 = 239.5px

应用:

1) 大背景

2) 通栏banner

banner的尺寸一般都非常宽,是为了照顾有钱的用户,他们使用的是宽屏显示器,分比率达到1920,所以banner的宽度基本都是1920的。我们要用背景来做banner,写上

  1. background-image: url(images/banner160223.jpg);
  2. background-repeat: no-repeat;
  3. background-position: center top;
  4. background-color: #E0B895;

不管多大的分辨率,我们的banner都是通栏的:

5.background-attachment

背景附属属性,attachment就是附属的意思。它的一个值比较有用fixed;

background-attachment: fixed;

css2.1层面,就这些。css3中又要增加background另外5个属性,等到时候再说。

我们可以合写:

  1. background-color:red;
  2. background-image:url(1.jpg);
  3. background-repeat:no-repeat;
  4. background-position:-10px -100px;
  5. background-attachment:fixed;

等价于:

background:red url(1.jpg) no-repeat -10px -100px fixed;

背景图的应用

1.图换文字

我们要插入logo:

  1. <h1>
  2. <img src="images/logo.png" alt="" />
  3. </h1>

这种插入logo的方式,对搜索引擎不友好。我们希望的是h1里面是文字,而不是图片。搜索引擎是无法识别图上的文字的。

所以,比较好的方法,就是用背景图来呈递这个图片,标签中写上文字,标签中的文字是搜索引擎能抓取的。

<h1>爱前端-专业前端开发培训</h1>

  1. .header h1{
  2. width: 221px;
  3. height: 68px;
  4. background:url(images/logo.png);
  5. text-indent: -999em; 赶走文字,让用户看不到文字
  6. }

也可以:

  1. .header h1{
  2. width: 221px;
  3. height: 68px;
  4. background:url(images/logo.png);
  5. line-height: 400px;
  6. overflow: hidden;
  7. }

2.先导符号放在 padding里

3.精灵的摆放

所有要成为先导符号的小图标,一定要放到精灵图的最右边。

07_CSS入门和高级技巧(5)的更多相关文章

  1. 03_CSS入门和高级技巧(1)

    上节课知识的复习 插入图片,页面中能够插入的图片类型:jpg.jpeg.bmp.png.gif:不能的psd.fw. 语法: <img src="路径" alt=" ...

  2. (Dos)/BAT命令入门与高级技巧详解(转)

    目录 第一章 批处理基础 第一节 常用批处理内部命令简介 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITLE 6.COLOR 7.mode 配置系统设 ...

  3. 10_CSS入门和高级技巧(8)

    图片透明 先来复习一下盒子的透明问题: opacity:0.6; 介于0~1之间,为了让IE兼容,我们要使用IE自己的滤镜: filter:alpha(opacity=60); 盒子的透明,会让里面的 ...

  4. 08_CSS入门和高级技巧(6)

    排查错误 Chrome浏览器的审查功能. 错误1:选择器写错了,压根没有选择上: 如果写了一个错误的选择器, <style type="text/css"> dvi p ...

  5. 09_CSS入门和高级技巧(7)

    浏览器兼容问题 1.现在中国网民用什么浏览器? 中国流量最大的网站就是百度,百度在统计着每一个访问者的浏览器.地域.操作系统.分辨率等等信息. 百度流量研究院:http://tongji.baidu. ...

  6. 05_CSS入门和高级技巧(3)

    上节课复习 !important不能影响就近原则,远的标签如果加上!important也干不过近的标签! !important不能影响继承权重是0,通过继承的标签加上!important也干不过直接选 ...

  7. 06_CSS入门和高级技巧(4)

    复习 CSS : 负责样式层,层叠式样式表cascading style sheet.CSS2.1,最新版本CSS3. CSS选择器: 选择哪些元素加样式.基本选择3种:标签p.id选择器#id.cl ...

  8. 04_CSS入门和高级技巧(2)

    上节课复习 HTML表格,table.tr.td(th):thead.tbody:caption. 一定要会根据图形,来写表格: <table border="1"> ...

  9. smarty半小时快速上手入门教程

    http://www.jb51.net/article/56754.htm http://www.yiibai.com/smarty/smarty_functions.html http://www. ...

随机推荐

  1. AJ学IOS(12)UI之UITableView学习(上)LOL英雄联盟练习

    AJ分享,必须精品 先看效果图 源代码 NYViewController的代码 #import "NYViewController.h" #import "NYHero. ...

  2. RNN循环神经网络(Recurrent Neural Network)学习

    一.RNN简介 1.)什么是RNN? RNN是一种特殊的神经网络结构,考虑前一时刻的输入,且赋予了网络对前面的内容的一种'记忆'功能. 2.)RNN可以解决什么问题? 时间先后顺序的问题都可以使用RN ...

  3. 【高并发】高并发环境下如何防止Tomcat内存溢出?看完我懂了!!

    写在前面 随着系统并发量越来越高,Tomcat所占用的内存就会越来越大,如果对Tomcat的内存管理不当,则可能会引发Tomcat内存溢出的问题,那么,如何防止Tomcat内存溢出呢?我们今天就来一起 ...

  4. 给学妹的 Java 学习路线

    大家好,这篇文章主要是讲解下如何自学 Java,这个问题有很多粉丝私信问过,今天又有直系学妹问我如何学习 Java? 我就以我的经历,总结下分享给大家,有不当指出或者有更好的方法建议也欢迎留言指出,大 ...

  5. PHP函数:memory_get_usage

    memory_get_usage()  -返回分配给 PHP 的内存量 说明: memory_get_usage ([ bool $real_usage = false ] ) : int 参数: r ...

  6. 用pytorch做手写数字识别,识别l率达97.8%

    pytorch做手写数字识别 效果如下: 工程目录如下 第一步  数据获取 下载MNIST库,这个库在网上,执行下面代码自动下载到当前data文件夹下 from torchvision.dataset ...

  7. 报错:require_once cannot allocate memory----php,以前自己弄的稍微有点特殊的开发环境

    最近出现过一个问题,值得记录 类似于这样的报错的问题: Warning: require_once(/www/app/somecomponent.php): failed to open stream ...

  8. Apache Hudi集成Apache Zeppelin实战

    1. 简介 Apache Zeppelin 是一个提供交互数据分析且基于Web的笔记本.方便你做出可数据驱动的.可交互且可协作的精美文档,并且支持多种语言,包括 Scala(使用 Apache Spa ...

  9. lua实现游戏抽奖的几种方法

    ^_^内容原创,禁止转载  假设配置如下: local reward_pool = { {weight = , item = {, num = }}, {weight = , item = {, nu ...

  10. uniqid用法

    uniqid():妙用就是以当前时间微妙为单位,返回的唯一ID 我们可以用到密码加密和接口加密的功能上,比如 $salt = substr(uniqid(rand()), -6);//截取倒数6位$p ...