如何使用样式组件制作下拉菜单?

时间:2019-06-02 18:26:10

标签: reactjs typescript styled-components

如何用样式组件重写此下拉菜单?

<!DOCTYPE html>
<html>
<head>
<style>
.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  padding: 12px 16px;
  z-index: 1;
}

.dropdown:hover .dropdown-content {
  display: block;
}
</style>
</head>
<body>

<h2>Hoverable Dropdown</h2>
<p>Move the mouse over the text below to open the dropdown content.</p>

<div class="dropdown">
  <span>Mouse over me</span>
  <div class="dropdown-content">
  <p>Hello World!</p>
  </div>
</div>

</body>
</html>

来源:https://www.w3schools.com/css/tryit.asp?filename=trycss_dropdown_text

到目前为止,我已经尝试过:

  const NavbarDropdown = styled.div`
    position: relative;
    display: inline-block;

    &:hover {
      display: block;
    }
  `;
  const NavbarDropdownContent = styled.div`
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0, 2);
    padding: 12px 16px;
    z-index: 1;
  `;

export const Navbar: React.FC = () => {
  return (
    <NavbarDropdown>
      <span>Menu</span>
      <NavbarDropdownContent>
        <Link to="/">Dropdown here</Link>
      </NavbarDropdownContent>
    </NavbarDropdown>
  );
};

它不起作用,我不知道下一步该怎么做。请帮助我。


P.S。我正在使用React-v16.8.6,TypeScript-v3.4.5,Styled-components-v4.2.1

1 个答案:

答案 0 :(得分:0)

悬停时,您应该设置import Action from 'vue-class-component' 的显示属性。

NavbarDropdownContent