Здесь странные вещи. См. Эту страницу tinkerbin, если вы можете: http://tinkerbin.com/UZy6H6q4Почему свойство перехода CSS3 действует смешно?
Вот html и css на случай, если вы не видите tinkerbin.
<head>
<style>
ul{
overflow: hidden;
padding:0;
margin:0;
list-style-type:none;
background-color: pink;
}
ul a{
text-decoration: none;
color: white;
}
li{
float: left;
height: 30px;
line-height: 30px;
width: 90px;
margin-right: 5px;
background-color:red;
text-align:center;
-webkit-transition: all .6s linear;
}
#case2 li{
background: none;
}
#case2 li:hover, li:hover{
background-color: lightblue;
}
</style>
</head>
<body>
<!-- CASE #1 -->
<ul id="case1">
<a href=""><li>Home</li></a>
<a href=""><li>Blog</li></a>
<a href=""><li>About</li></a>
<a href=""><li>Contact</li></a>
</ul>
<!-- CASE #2 -->
<ul id="case2">
<a href=""><li>Home</li></a>
<a href=""><li>Blog</li></a>
<a href=""><li>About</li></a>
<a href=""><li>Contact</li></a>
</ul>
</body>
Итак, проблема:
-The переход не работает по делу № 1.
-изменение «фона-цвета» из элемента li (как это было на CASE № 2) заставляет его работать, но странным образом - когда вы возвращаете курсор из-за элемента li, перед тем как цвет фона исчезает назад к прозрачному, он сначала становится черным.
Я тестировал обычное использование тега «a», вложенного в li, а не наоборот - отлично работает, как я, по какой-то причине ожидал. Но поскольку, согласно спецификациям, у меня может быть «li», завернутый в тег «a», тогда почему он не работает. Я что-то упускаю?
О, и я использую Chrome - возможно, релевантный.
Может ли ul (и ol, если на то пошло) не иметь ничего, кроме li, как дочерние элементы - сделать тег, обертывающий li недействительным? Может ли это испортить рендеринг? – banzomaikaka