代码之家  ›  专栏  ›  技术社区  ›  coder

边界半径不适用于容器元素

  •  0
  • coder  · 技术社区  · 2 年前

    我申请时遇到了困难 border-radius 到CSS中的容器元素。尽管设置 边界半径 财产,它似乎没有生效。

    这是我的代码:

    * {
    padding: 0;
    margin: 0;
    font-family: monospace;
    }
    
    .container {
    display: inline-block;
    position: relative;
    border-radius: 5px;
    }
    
    .language {
    list-style: none;
    background: #22438C;
    display:inline-block;
    }
    
    a {
    display: block;
    padding: 20px 25px;
    color: #FFF;
    text-decoration: none;
    font-size: 20px;
    }
    
    ul.dropdown li {
    display: block;
    }
    
    ul.dropdown {
    width: 100%;
    background: #22438C;
    position: absolute;
    z-index: 999;
    display: none;
    }
    
    .dropdown a:hover {
    background: #112C66;
    }
    
    .container:hover ul.dropdown {
    display: block;
    }
    <div class="container">
      <a class="language" href="#">Languages ▾</a>
      <ul class="dropdown">
        <li><a href="#">English</a></li>
        <li><a href="#">German</a></li>
      </ul>
    </div>
    1 回复  |  直到 2 年前
        1
  •  2
  •   Brett Donald    2 年前

    不要在容器上放圆角。相反,把它们放在 <a> 以及 <ul> 。您需要调整哪些角被倒圆 :hover ,但这很容易做到。

    body {
      font-family: monospace;
    }
    
    .container {
      display: inline-block;
      position: relative;
    }
    
    .language {
      list-style: none;
      background: #22438C;
      display:inline-block;
    }
    
    a {
      display: block;
      padding: 20px 25px;
      color: #FFF;
      text-decoration: none;
      font-size: 20px;
      border-radius: 5px;
    }
    
    ul.dropdown li {
      display: block;
    }
    
    ul.dropdown {
      width: 100%;
      background: #22438C;
      position: absolute;
      z-index: 999;
      display: none;
      border-radius: 0 0 5px 5px;
      margin: 0;
      padding: 0;
    }
    
    .dropdown a:hover {
      background: #112C66;
    }
    
    .container:hover a {
      border-radius: 5px 5px 0 0;
    }
    
    .container:hover ul.dropdown {
      display: block;
    }
    <div class="container">
      <a class="language" href="#">Languages ▾</a>
      <ul class="dropdown">
        <li><a href="#">English</a></li>
        <li><a href="#">German</a></li>
      </ul>
    </div>