3

试图找到一个结合使用精灵和滑动门技术的 css 翻转示例。

我不是css识字,所以一个完整的例子或一个完整的例子的链接将不胜感激。

我要做的就是让<a href>按钮宽度不固定,并具有良好的翻转效果以及添加图标的可能性(类似于 Web Outlook)。

4

4 回答 4

3

以下内容基于本文 ( http://www.filamentgroup.com/lab/update_styling_the_button_element_with_css_sliding_doors_now_with_image_spr/ ),但适用于 a 标签。

它类似于@xijo 的答案,但有一些小的调整。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" > 
<html>
<head>
<title>Test</title>

    <style type="text/css">
/* REQUIRED BUTTON STYLES: */       
a { 
    border: 0; 
    padding: 0;
    display:inline-block;
}

a span { 
    display: block; 
    white-space: nowrap;
    cursor: hand;
}

/* OPTIONAL BUTTON STYLES for applying custom look and feel: */     
a.submitBtn { 
    padding: 0 15px 0 0; 
    margin-right:5px; 
    font-size:2em; 
    text-align: center; 
    background: transparent url(btn_blue_sprite.gif) no-repeat right -140px; 
}

a.submitBtn span {
    padding: 13px 0 0 15px; 
    height:37px; 
    background: transparent url(btn_blue_sprite.gif) no-repeat left top; 
    color:#fff; 
}

a.submitBtn:hover, button.submitBtnHover { /* the redundant class is used to apply the     hover state with a script */
    background-position: right -210px; 
}

a.submitBtn:hover span, button.submitBtnHover span {
    background-position: 0 -70px;
}

    </style>
</head>
<body>
This is a bunch <a href="#" class="submitBtn"><span>Submit</span></a> of text.
</body>
</html>
于 2009-09-04T19:27:18.763 回答
2

我们做了类似的事情,你也许会发现它很有用。在锚点中,我们使用了一个跨度并为它们分配了以下 css:

html:

<a href="example"><span>echo</span></a>

CSS:

a, a:visited {
  background:   url(left.png) no-repeat scroll left;
}

.tabContainer a span {
  background:   url(right.png) no-repeat scroll right;  
  margin:       0 0 0 21px;
  padding:      0 21px 0 0;
  float:        left;
}

然后像这样悬停它们:

.a:hover {
  background-position: -45px;
}

.a:hover span {
  background-position: -45px;
}

左右当然要成比例!:) 希望这可以帮助您解决 CSS 问题!;)

于 2009-09-04T19:19:21.807 回答
1

只有 CSS 没有真正的翻转或滑动效果。基本上,这两种技术都基于“背景位置”。

也许这会帮助你:

http://kailoon.com/css-sliding-door-using-only-1-image/

但是使用 javascript,您可以获得更好看的翻转效果... :) 查看我的测试页面并单击“单击以显示一点点高级悬停;)”来查看它;)

www.arvag.net/test/jquery/

如果您想要类似的东西,请说,我会尽力解释。

于 2009-09-04T19:14:38.010 回答
0

好吧,这取决于你想要什么,这是非常可变的,但是假设你想要一个在鼠标悬停时改变颜色的按钮,并且旁边会出现一个小图像,这就是你需要的东西:

HTML:

<ul>
<li>home<img src="sprite.png" width="16px" height="16px" alt="tinypic" /></li>
....

</ul>

CSS:

ul li img {
display: none;
}
ul li {
background: #FFFFFF;
}
ul li:focus, ul li:hover, ul li:active {
background: #000000;
}
ul li:focus li img, ul li:hover li img, ul li:active ul li img{
display: inline;
margin-right: -16px; // should stop the button expanding
}

但正如我所说,这是一个非常基本的精简答案

于 2009-09-04T19:20:06.873 回答