对无序列表和列表项进行排序以在ul上显示框阴影

时间:2012-06-26 20:18:32

标签: html css css3

无论如何都要把ul盒子阴影放在li的顶部?

我希望插入的阴影可以包裹列表项......但它只是在下面显示而且不可见。

<div id="menu"><ul>
    <li id="inventory"><a href="<?php echo base_url() ?>welcome/inventory"></a></li>
    <li id="spells"><a href="<?php echo base_url() ?>welcome/spells"></a></li>
    <li id="fight"><a href="<?php echo base_url() ?>welcome/fight"></a></li>
    <li id="char"><a href="<?php echo base_url() ?>welcome/character"></a></li>
</ul></div>

#menu ul {
    z-index: 50;
    list-style: none;
    height: 75px;
    width: 304px;
    border: 4px solid #000000;
    -moz-box-shadow:    inset 0 0 20px black;
    -webkit-box-shadow: inset 0 0 20px black;
    box-shadow:         inset 0 0 20px black;
} 

#menu li {
    z-index: -1;
    border-right: 1px dotted #000000;
    float: left;
    width: 75px;
    height: 75px;
    background-color:lightblue;
}

1 个答案:

答案 0 :(得分:2)

嘿Ricky你可以通过 css 之前:之后:伪类

来达到预期效果

您可以设置阴影从上到下,从左到右设置阴影的位置。

我希望这会对你有所帮助。

您可以看到演示: - http://jsbin.com/avupaw/15/edit

#menu ul:before {
  content: '';
  height: 78px;
  left: 47px;
  position: absolute;
  right: 0;
  width: 294px;
  -webkit-box-shadow: 0 0 10px 0px #000000 inset;
  -moz-box-shadow: i0 0 10px 0px #000000 inset;
  box-shadow: 0 0 10px 0px #000000 inset;
}

}
#menu ul {
  margin: 0;
  padding: 0;
  height: 75px;
  border: 1px solid black;
  background: red;
  position: relative;
}
#menu li {
  background-color: lightblue;
  border: 1px solid green;
  float: left;
  height: 75px;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 71px;
}
a { text-decoration: none }
<div id="menu">
  <ul>
    <li>
      <a href="#">A</a>
    </li>
    <li>
      <a href="#">B</a>
    </li>
    <li>
      <a href="#">C</a>
    </li>
    <li>
      <a href="#">D</a>
    </li>
  </ul>
</div>