CSSで簡単な自動非表示メニュー/ヘッダーを作成しようとしています。私は遷移を使用しますが、これはここではポイントではないと思います。ホバーするとヘッダーが下にスライドしてコンテンツ全体が表示され、マウスを離すと上にスライドするはずです。わたしにはできる。ヘッダーがスライドアップされたときに画面コンテンツも展開したい。これは市長の問題です。ページ全体 (画面) に div を展開する唯一の方法は、上下左右を修正することです。トップ値が変化している場合は機能しません。
私のコード例を見てください: http://jsbin.com/ahamid/2/edit
緑色の部分が問題です。ホバー時にトップ値を変更して修正しようとしましたが、マウスがコンテンツの外にあり、ヘッダーの外にもある場合は機能しません。
以下はコードです:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<div id="main">
<div id="head">
<span> header </span>
</div>
<div id="content">
<span>
test content
</span>
</div>
</div>
</body>
</html>
そしてCSS:
body {
position: relative;
}
#main {
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
background-color: white;
}
#head {
display: block;
height: 50px;
top: -44px;
right: 0px;
left: 0px;
background-color: #fcc;
margin: 0px 3px;
position: absolute;
transition: 0.5s;
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
-o-transition: 0.5s;
}
#head:hover {
height: 50px;
background-color: red;
top:0px;
transition: 1s;
-moz-transition: 1s;
-webkit-transition: 1s;
-o-transition: 1s;
}
#content {
background-color: cfc;
position: absolute;
top: 50px;
bottom: 0px;
left: 0px;
right: 0px;
margin: 3px;
transition: 1s;
-moz-transition: 1s;
-webkit-transition: 1s;
-o-transition: 1s;
}
#head span {
color: black;
font-weight: bold;
transition: 0.5s;
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
-o-transition: 0.5s;
}
#head:hover span {
color: yellow;
transition: 1s;
-moz-transition: 1s;
-webkit-transition: 1s;
-o-transition: 1s;
}
#content:hover {
top: 6px;
transition: 0.5s;
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
-o-transition: 0.5s;
}