创建一个垂直的文本列表,在单击时更改顺序

时间:2016-04-23 14:41:08

标签: javascript jquery css list css3

我正在尝试修改此处的示例:

div {
  width: 200px;
  margin: 30px;
}

h2 {
  font: 400 40px/1.5 Helvetica, Verdana, sans-serif;
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

li {
  font: 200 20px/1.5 Helvetica, Verdana, sans-serif;
  border-bottom: 1px solid #ccc;
}

li:last-child {
  border: none;
}

li a {
  text-decoration: none;
  color: #000;

  -webkit-transition: font-size 0.3s ease, background-color 0.3s ease;
  -moz-transition: font-size 0.3s ease, background-color 0.3s ease;
  -o-transition: font-size 0.3s ease, background-color 0.3s ease;
  -ms-transition: font-size 0.3s ease, background-color 0.3s ease;
  transition: font-size 0.3s ease, background-color 0.3s ease;
  display: block;
  width: 200px;
}

li a:hover {
  font-size: 30px;
  background: #f6f6f6;
}
<div>
  <ul>
    <li><a href="#">Zurich</a></li>
    <li><a href="#">Geneva</a></li>
    <li><a href="#">Winterthur</a></li>
    <li><a href="#">Lausanne</a></li>
    <li><a href="#">Lucerne</a></li>
  </ul>
</div>

那样:

  • 列表中的中间项目已在开始时展开
  • 点击列表移动的任何其他元素,点击的项目将移动到中间并展开
  • 列表的第一个和最后一个元素的不透明度降低

这可以在javascript或CSS中完成吗?我一直在阅读关于n-child的内容,但我正在努力了解如何实际实现它。我理解nth-child可以帮助我处理不透明的情况,但是使用javascript重新排序列表(并最终设置重新排序动画)的唯一方法是什么?或者CSS动画是要走的路?

0 个答案:

没有答案