使用CSS,Rails,Bourbon和Neat滑出导航

时间:2013-08-21 19:20:44

标签: css3 bourbon neat

我正在开发我的第一个Rails项目,我正在努力尝试使用Bourbon / Neat的滑动菜单。我最近的尝试围绕着尝试使用CSS:target和Shift()mixin for Neat。我正在分解的地方是在何处/如何包含mixin以及在何处/如何实例化实际班次。这就是我在纯CSS尝试中所处的位置......

#nav
  @include span-columns(1)
  position: fixed
  left: -240px
  top: 0
  bottom: 0
  background-color: #654
  border-right: 50px solid #765
  box-shadow: 4px 0 5px rgba(0,0,0,0.2)
  z-index: 1
  cursor: pointer

#nav:after
  position: absolute
  content: ' '
  width: 0
  right: -70px
  top: 50%
  border-width: 15px 10px
  border-style: solid
  border-color: transparent transparent transparent #765

#holder
  @include span-columns(14)
  position: fixed 
  left: 0 
  top: 0 
  right: 0 
  bottom: 0 
  overflow: auto 
  z-index: 0  
  -webkit-transform-origin: 0 50% 
  -moz-transform-origin: 0 50% 
  -ms-transform-origin: 0 50% 
  -o-transform-origin: 0 50% 
  transform-origin: 0 50% 

#holder:after
  position: absolute  
  content: ' '  
  left: 100% 
  top: 0 
  right: 0 
  bottom: 0 
  background-image: -webkit-linear-gradient(right, rgba(0,0,0,0.2) 0%, transparent 100%) 
  background-image: -moz-linear-gradient(right, rgba(0,0,0,0.2) 0%, transparent 100%) 
  background-image: -ms-linear-gradient(right, rgba(0,0,0,0.2) 0%, transparent 100%) 
  background-image: -o-linear-gradient(right, rgba(0,0,0,0.2) 0%, transparent 100%) 
  background-image: linear-gradient(right, rgba(0,0,0,0.2) 0%, transparent 100%) 
  pointer-events: none 

这描述了两个元素(导航和持有者)的定位。从理论上讲,导航几乎完全位于画布上,并在悬停时滑入。但是,这根本不会发生。发生的事情是导航器直接显示在持有者身上,持有人在导航下方被丢弃。什么都不是画布,没有任何变化。下面我将发布转换的CSS和生成的html。

#holder, #holder:after, #hav, #nav:after
  -webkit-transition: all 600ms ease
  -moz-transition: all 600ms ease
  -ms-transition: all 600ms ease
  -o-transition: all 600ms ease
  transition: all 600ms ease

#nav:hover
  left: 0

#nav:hover ~ #holder
  -webkit-transform: translateX(16em) perspective(600px) rotateY(10deg)
  -moz-transform: translateX(16em) perspective(600px) rotateY(10deg)
  -ms-transform: translateX(16em) perspective(600px) rotateY(10deg)
  -o-transform: translateX(16em) perspective(600px) rotateY(10deg)
  transform: translateX(16em) perspective(600px) rotateY(10deg)

#nav:hover ~ #holder:after
  left: 60%

和..

     <body id="body">
    <div class="nav">
  <ul>
    <li>First Link</li>
    <li>Second Link</li>
    <li>Third Link</li>
    <li>Fourth Link</li>
  </ul>
</div>
    <div class="holder">
  <div id="logo">
    <a href="index.html"><img alt="LoGo" src="/assets/etlogo.png" /></a>
  </div> 
  <div id="tsol">
  </div>

我看过Shift()mixin for Neat,但是它上面有很少的文档。老实说,我无法判断这对我是否有用,或者如果是这样的话,如何实现它。在整洁文档中总共有3行总计。任何帮助,提示,或者,真的,任何不是非常侮辱的事情都将非常感激。

1 个答案:

答案 0 :(得分:1)

@Blind Fish - 这里有许多组件的例子,包括由波本威士忌的创作者建造的滑动导航:

http://refills.bourbon.io/

很抱歉不要解决您的问题,但这可能是您进一步自定义的良好起点。