精通CSS-链接样式

1. 简单的链接样式

    对链接应用样式最容易的方式是使用锚类型选择器 。如: 以下规则使

   a  {color:red; }

   但是,锚可以作为内部引用,也可以作为外部链接,所以使用类型选择器不总是理想的。例如:下面的第一个锚包含一个片段标识符,当用户单击这个锚时,页面将调到第二个锚的位置:

    <p><a href="#mainContent">Skip to main content</a></p>

    .....

    <h1><a name="mainContent">Welcome</a></h1>

  虽然只想让真正的链接变成红色,但是标题的内容也成了红色的。

   所以我们需要使用两个特殊的选择器,称为链接伪类选择器。:link伪类选择器用来寻找没有被访问的链接,:visited伪类选择器用来寻找被访问过的链接。所以,在下面的示例中,所有没有被访问过的链接将是蓝色的,所有被访问过的链接将是绿色的:

   a:link {color:blue;}

  a:visited  {color:green}

  还有另外两个伪类选择器  :hover   :active

  :hover动态伪类选择器用来讯咋好鼠标悬停处的元素,

  : active动态伪类选择器用来寻找被激活的元素。

   对于链接来说,激活发生在链接被单击时。

  a:hover,  a:focus  {color: red;}

  其他元素也可以使用:hover      :active  或 :focus伪类选择器。例如,可以在表格行上添加 :hover伪类,在提交按钮上添加 :active伪类,在输入框上添加: focus伪类,从而突出显示各种交互形式。IE7和更低版本不支持在除链接之外的其他元素上使用伪类选择器,但是所有现代浏览器都支持。

 tr:hover {

  background:yellow;

            }

input[type='submit'];active  {

  background:yellow;

          }

input : focus  {

    background:yellow;

         }

去掉下划线

 a:link,  a:visited  {text-decoration: none;}

 a:hover,  a:focus,  a:active  {text-decoration: underline;}

选择器的次序很重要,最好按照下面的次序:

 a:link,    a:visited,   a:hover,    a:focus,   a:active   


2.创建类似按钮的链接

锚是行内元素,这意味着只有在单击链接的内容时它们才会激活。但是,有时候希望实现更像按钮的效果,有更大的可单击区域。为此,可以将锚的display属性设置为block,然后修改width,height和其他属性来创建需要的样式和单击区域。 

a  {

   display :block;

  width: 6.6em;

  line-height: 1.4;

  text-align: center;

  text-decorating:none;

  border: 1px solid #66a300;

  background-color:  #8cca12;

  color: #fff;

    }

由于链接现在显示为块即元素,单击块中的任何地方都会激活链接。

简单的翻转

a:hover, a:focus  {

    background-color:  #f7a300;

     border-color:  #ff7400;

   }

图像翻转

对于比较复杂的按钮,可能需要使用背景图像。创建了3个按钮图像,一个用于默认状态,一个用于鼠标悬停和焦点状态,一个用于激活状态

a:link, a:visited {

  display: block;

  width:203px;

  height:72px;

  text-indent: -1000em;

  background:  url(/img/button.png)  left top no-repeat;

 }

a:hover,  a:focus {

background-image:url(/img.button-over.png);

 }

a:active {

background-image: url(/img/button-active.png);

}

这个示例中,把按钮文本放在图像上,然后使用大的负文本缩进隐藏锚文本。

用css3实现翻转

CSS3包含text-shadow, box-shadow  和border-radius等属性,可以创建样式很丰富的按钮,而不需要使用任何图像。

a{

   display : block;

    width: 6.6em;

    height:  1.4em;

    line-height:1.4;

    text-align: center;

    text-decoration:none;

    border: 1px solid #66a300;

   background-color: #8cca12;

   color: #fff;

   }

接下来,添加曲线边框和投影。可以让按钮文本有点儿投影。

a {

   dispaly:  block;

   width: 6.6em;

   height: 1.4em;

   line-height:1.4;

   text-align: center;

   text-decoration: none;

   border:1px solid #66a300;

   -moz-border-radius: 6px;

   -webkit-border-radius: 6px;

   border-radius: 6px;

   background-color: #8cca12;

   color: #fff;

   text-shadow: 2px 2px 2px  #66a300;

   -moz-box-shadow: 2px 2px 2px #ccc;

  -webkit-box-shadow:  2px 2px 2px #ccc;

  box-shadow: 2px 2px 2px #ccc;

   }

纯CSS工具提示

  工具提示是当鼠标悬停在具有title属性的元素上时一些浏览器弹出的黄色小文本框。一些开发人员结合使用JS和CSS创建了样式独特的自定义工具提示。但是,通过使用CSS定位技术,可以创建纯CSS工具提示。这种技术需要符合标准的现代浏览器(FireFox)才能正确地工作。因此,它不是日常使用的技术。但是,它演示了高级CSS的能力。

HTML:

 <p>

 <a href="http://www.andybudd.com/"  class="tooltip">

 Andy Budd<span>(This website rocks)</span></a>is a web developer based in Brighton England.

  </p>

  这个链接设置的类名为tooltip,以便从其他链接中区分出来。在这个链接中,添加希望显示为链接文本的文本,然后添加包围在span中的工具提示文本。

首先需要做的是将锚的position属性设置为relative.这样就可以相对于父元素的位置对span的内容进行绝对定位。

 a.tooltip{

  positon:relative;

  }

  a.tooltip span {

 dispaly: none;

  }

 当鼠标悬停在这个锚上时,表示希望显示span的内容。方法是将span的display属性设置为block,但是只有鼠标悬停在这个链接上时才这样做。

 为了让span的内容出现在锚的右下方,需要将span的positon属性设置为absolute,并且将它定位到距离锚顶部1em,距离左边2em的定位。

  a.tooltip  : hover span {

  display: block;

  positon: absolute;

  top: 1em;

  left: 2em;

  }

绝对定位元素的定位相对于最近的已定位祖先元素(如果没有,就相对于根元素。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值