CSS翻转与精灵和&滑行门

时间:2009-09-04 18:57:55

标签: css user-interface uibutton

尝试使用sprites&找到一个具有css翻转的示例。推拉门技术相结合。

我不是css literate,所以我们将非常感谢完整的示例或指向完整示例的链接。

我所要做的就是让<a href>按钮不是固定宽度,具有良好的翻转效果,并且可以添加图标(类似于网页外观)。

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

我们做了类似这样的事情,你或许会发现它很有用。在锚中我们使用了一个span并为它们分配了以下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问题! ;)

答案 2 :(得分:1)

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

也许这会对你有所帮助:

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

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

www.arvag.net/test/jquery /

如果您想要这样的话,我会尝试解释它。

答案 3 :(得分: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
}

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