下面是我正在使用的HTML和CSS。不幸的是,已經提出的問題沒有給出答案。基本上,它減少了所有兄弟姐妹的寬度,並增加了懸停的兄弟姐妹的寬度。我正在使用ease-in-out
,但轉換的OUT部分只是瞬間跳回原始狀態。CSS寬度轉換出不起作用
html {
background: #000066;
}
body {
height: 100%;
background: #cfcfd0;
margin: 4% 4% 4% 4%;
}
#title {
background: ;
text-align: center;
margin: 2% 2%;
padding: 2% 2%;
}
#nav {
width: 90%;
overflow: auto;
margin: 0 auto;
padding: 0px 0px 0px 0px
}
ul {
margin: 4% auto;
padding: 0;
width: 100%;
list-style-type: none;
overflow: auto;
}
li {
box-sizing: border-box;
text-align: center;
display: inline-block;
float: left;
width: 33.33%;
padding: 2% 0;
margin: 0%;
background: blue;
border-top: 1px solid black;
border-bottom: 1px solid black;
border-right: 1px solid black;
}
li:first-child {
border-left: 1px solid black;
}
li:last-child {
border-right: 1px solid black;
}
a {
color: black;
text-decoration: none;
}
ul:hover > li:hover {
width: 37.33%;
color: white;
background: darkblue;
-webkit-transition: all 300ms ease-in-out;
-moz-transition: all 300ms ease-in-out;
-ms-transition: all 300ms ease-in-out;
-o-transition: all 300ms ease-in-out;
transition: all 300ms ease-in-out;
}
ul:hover > li {
width: 31.33%;
-webkit-transition: width 300ms ease-in-out;
-moz-transition: width 300ms ease-in-out;
-ms-transition: width 300ms ease-in-out;
-o-transition: width 300ms ease-in-out;
transition: width 300ms ease-in-out;
}
<div id="title">
<h1>Projects Home</h1>
</div>
<div id="nav">
<ul>
<li><a href="">Project 1</a>
</li>
<li><a href="">Project 2</a>
</li>
<li><a href="">Project 3</a>
</li>
</ul>
</div>
我想不通這是爲什麼。
不要把'內'transition'屬性:hover'選擇。這意味着只有在鼠標位於元素上時才適用該轉換,否則不適用。 transition屬性應該在'li'選擇器中指定。 – Harry
@哈利已解決它請張貼爲答案 –
塞巴斯蒂安布羅施的答案是正確的,除了*替換*部分,所以我不會發布什麼幾乎是一個騙局。我很高興評論幫助你:) – Harry