簡體   English   中英

CSS轉換不起作用

[英]CSS transition doesn't work

我的sidebar.css:

body
{
  margin: 0;
  padding: 0;
}
#header
{
  background-color: #577481;
  float: left;
  height: 50px;
  width: 100%;
}
#sidebar
{
  background-color: #4ea9d1;
  float: left;
  height: 100%;
  left: -200px;
  position: absolute;
  top: 50px;
  width: 200px;
}
#wrapper
{
  float: left;
  height: 100%;
  width: 100%;
}
#content
{
  background-color: #d6b141;
  float: left;
  height: 500px;
  width: 100%;
}
#sideBarButton
{
  background-image: url('SideBarButton.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 70% 70%;
  border-radius: 25px;
  height: 50px;
  margin-left: 30px;
  width: 50px;
}

我的index.html:

<<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" type="text/css" href="sidebar.css">
    <script>
      function slideIn(element1, element2, element3) {
        var elem = document.getElementById(element1);
        var elem2 = document.getElementById(element2);
        var elem3 = document.getElementById(element3);
        elem.style.transition = "left 0.5s ease-in 0s";
        elem.style.left = "0px";
        elem2.style.transition = "marginLeft 0.5s ease-in 0s";
        elem2.style.marginLeft = "200px";
        elem2.style.opacity = 0.75;
        elem3.style.backgroundImage = 'url(SideBarButtonHover.png)';
        elem3.style.backgroundColor = '#3f545d';
      }

      function slideOut(element1, element2, element3) {
        var elem = document.getElementById(element1);
        var elem2 = document.getElementById(element2);
        var elem3 = document.getElementById(element3);
        elem.style.transition = "left 0.5s ease-out 0s";
        elem.style.left = "-200px";
        elem2.style.transition = "marginLeft 0.5s ease-out 0s";
        elem2.style.marginLeft = "0px";
        elem2.style.opacity = 1;
        elem3.style.backgroundImage = 'url(SideBarButton.png)';
        elem3.style.backgroundColor = '#577481';
      }
    </script>
  </head>

  <body>
    <div id="header">
      <div id="sideBarButton" onMouseOver="slideIn('sidebar', 'content', 'sideBarButton');" onMouseOut="slideOut('sidebar', 'content', 'sideBarButton');"></div>
    </div>
    <div id="wrapper">
      <div id="sidebar">
        <ul>
          <li><a href="#">Hallo</a>
          </li>
        </ul>
      </div>
      <div id="content">Ich bin der Content</div>
    </div>
  </body>

</html>

第一個元素(側邊欄)的過渡有效,但第二個元素(內容)沒有。 當你將鼠標懸停在側邊欄按鈕上時,它應該像這樣工作,側邊欄會出來,內容將同時向右移動。 我的問題是為什么內容過渡不起作用? 謝謝你的幫助!

第一個元素(側邊欄)的過渡有效,但第二個元素(內容)沒有。 當你將鼠標懸停在側邊欄按鈕上時,它應該像這樣工作,側邊欄會出來,內容將同時向右移動。 我的問題是為什么內容過渡不起作用?

謝謝你的幫助!

在javascript中設置樣式值時,您的樣式名稱應該是camelCase'd,但如果在其中設置帶有CSS屬性的值,則應使用CSS屬性語法。 正確地:

elem2.style.transition = "margin-left 0.5s ease-in 0s";
elem2.style.marginLeft = "200px";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM