0

好的,伙计们,这里是菜鸟,正在编写我的第一个 joomla 模块(或者无论如何都在尝试!)。出人意料地远了,但我的 css 样式有一些问题,我确定这与我的选择器和我对正在发生的事情缺乏了解有关!

基本上,我试图让 li 的填充权之一在悬停时增长,效果正在发挥作用,但目前两个 li 都在增长,而不仅仅是我悬停的那个。

任何帮助都是极好的!

HTML

<div>
<ul id="social">
<li>one</li>
<li>two</li>
</ul>
</div>

CSS

#social{
    position:fixed;
    z-index:1000;
    top:50%;
    right:0px;
    list-style:none;
        }

#social li{
    padding-right: 5px;
    padding-top:5px;
    padding-bottom:5px;
    padding-left:5px;
    background-color: #202020;
    border-radius: 4px 0 0 4px;
    margin-top:15px;
    -moz-transition: padding-right .3s ease-in;
     -o-transition: padding-right  .3s ease-in;
     -webkit-transition: padding-right  .3s ease-in;
     transition: padding-right  .3s ease-in;
    }

#social li:hover{
    padding-right: 25px;
    padding-top:5px;
    padding-bottom:5px;
    padding-left:5px;
    }
4

1 回答 1

2

我很确定这是因为li它是一个块元素,它填充它的父元素(the ul)当一个增长时,父元素被推出,导致另一个li填充空间。这样lis 将始终是相同的大小。

可能有更好的方法,但您可以将以下样式添加到li

float:right;
clear:both;

这是有效的,因为它将元素更改为像内联元素一样,并使它们保持在右侧,但也将每个元素放在单独的行上。

li另一种方法是在(spana)内放置一个内联元素,并将li样式更改为a,然后添加一个li样式以简单地设置text-align:right。您可能需要一些其他样式,但我只是做了足够的工作来获得其中的功能。

<div>
<ul id="social">
  <li><a href='#'>one</a></li>
  <li><a href='#'>two</a></li>
</ul>
</div>

#social{
    position:fixed;
    z-index:1000;
    top:50%;
    right:0px;
    list-style:none;
        }

#social li{
  text-align:right;
}

#social a{
    padding-right: 5px;
    padding-top:5px;
    padding-bottom:5px;
    padding-left:5px;
    background-color: #202020;
    border-radius: 4px 0 0 4px;
    margin-top:15px;
    -moz-transition: padding-right .3s ease-in;
     -o-transition: padding-right  .3s ease-in;
     -webkit-transition: padding-right  .3s ease-in;
     transition: padding-right  .3s ease-in;
    }

#social a:hover{
    padding-right: 25px;
    padding-top:5px;
    padding-bottom:5px;
    padding-left:5px;
    }
于 2013-01-15T03:22:15.410 回答