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

使最后一个菜单项边框倾斜[重复]

  •  1
  • user3108268  · 技术社区  · 8 年前

    这个问题已经有了答案:

    我有一个带有白色边框的简单菜单列表,默认情况下所有边框必须是直的,最后一个边框必须倾斜。

    ul {
      background-color: #183650;
    }
    
    li {
      list-style: none;
      display: inline-block;
      border-left: 1px solid #FFF;
      color: #FFF;
      text-transform: uppercase;
      padding: 5px 10px;
      font-size: 12px;
      text-align: center;
    }
    li:first-child {
      border: none;
    }
    

    这是当前的:

    enter image description here

    目标:

    enter image description here

    边界很简单 border-left: 1px solid #FFF; .

    https://jsfiddle.net/u41wo2vc/3/

    2 回复  |  直到 8 年前
        1
  •  2
  •   VXp Kadir BuÅ¡atlić    8 年前

    skew() 信息技术:

    ul {
      background-color: #183650;
    }
    
    li {
      list-style: none;
      display: inline-block;
      border-left: 1px solid #FFF;
      color: #FFF;
      text-transform: uppercase;
      padding: 5px 10px;
      font-size: 12px;
      text-align: center;
    }
    
    li:first-child {
      border: none;
    }
    
    li:last-child {
      transform: skew(-15deg);
    }
    
    li:last-child span {
      display: inline-block; /* or "block" */
      transform: skew(15deg);
    }
    <div class="menu">
      <ul>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
        <li><span>Item</span></li>
      </ul>
    </div>

    包装 歪斜

        2
  •  2
  •   Chiller    8 年前

    <li> 然后扭曲它

    ul {
      background-color: #183650;
    }
    
    li {
      list-style: none;
      display: inline-block;
      border-left: 1px solid #FFF;
      color: #FFF;
      text-transform: uppercase;
      padding: 5px 10px;
      font-size: 12px;
      text-align: center;
    }
    
    li:first-child {
      border: none;
    }
    
    li:last-child {
      position: relative;
      border: none;
    }
    
    li:last-child::before {
      content: '';
      display: inline-block;
      position: absolute;
      left: 0;
      top: 0;
      width: 1px;
      height: 100%;
      background: #fff;
      transform: skew(-20deg);
    }
    <div class="menu">
      <ul>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
      </ul>
    </div>