さて、CSSでトランジションを希望どおりに機能させるには、いくつか問題があります。CSSの経験がある人に、自分が達成したいことを達成する方法を教えてもらいたいと思います。
私が持っている実際の初期遷移は正常に機能しますが、ここで2つの問題があります。
まず、ナビゲーションバーの2番目のボタン/リンクであるCharactersには3つのサブリンクがあり、Charactersボタンにカーソルを合わせると表示されます。キャラクターボタンの実際の遷移が行われるまで、これらのサブリンクが表示されないようにしたいと思います。私が言っていることをあなたが理解していることを願っています。それで、これは可能ですか、もしそうなら、どのように?
第二に、現時点で私が行っているのは、ボタン/リンクがロールオーバーされたときのトランジションだけですが、ロールアウトされたときのトランジションはありません。代わりに、ロールアウトするとすぐにデフォルトの状態に戻り、トランジション効果が実際に損なわれているように感じます。そこで、ホバーアウトとホバーインのトランジションを設定できるかどうかを知りたいのですが。
これが私のHTMLコードです:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
<link rel="stylesheet" href="complex_1.css"/>
</head>
<body>
<ul id="navbar">
<li id="home"><a href="#">Home</a></li>
<li id="characters"><a href="#">Characters</a>
<ul>
<li id="subzero"><a href="#">Sub-Zero</a></li>
<li id="scorpion"><a href="#">Scorpion</a></li>
<li id="kano"><a href="#">Kano</a></li>
</ul>
</li>
<li id="about"><a href="#">About</a></li>
<li id="contact"><a href="#">Contact</a></li>
</ul>
</body>
</html>
そしてそれに問題のあるCSSコード:
ul { /* Sets out the dimensions of the unordered list. */
font-family:Verdana;
font-size: 17px;
margin: 0px;
padding: 0px;
list-style:none;
position:absolute;
letter-spacing:1px;
}
ul li { /* All list items of unordered lists. */
display: block;
position: relative;
text-align:center;
float: left; /* Makes the navigation bar horizontal instead of vertical. */
}
li ul {
display: none; /* Hides the dropdown menu list items by default. */
}
ul li a { /* All list items of unordered lists that are links. */
color: #ffffff;
background: #000000;
display:block;
text-decoration: none;
border-top: 1px solid #ffffff;
padding: 7px 40px 7px 40px;
margin-left: 0px;
white-space: nowrap;
}
ul li a:hover {
-moz-transition-property:background-color;
-moz-transition-duration:400ms;
-moz-transition-timing-function:ease-in-out;
color:#ffffff;
background: #ff0000;
}
li:hover ul {
display:block;
width:182px;
}
li:hover li {
display:block;
font-size:10px;
float:none;
}
li:hover a {
background: #000000; /* This is where you apply the colour you want for the dropdown list items off the main menu. */
}
li:hover li a:hover {
color: #ffffff;
background: #ff0000; /* This is where you apply the colour you want for the hover over the list. */
}
私がここでやりたいことを手伝ってくれる人に事前に感謝します。本当に感謝しています。