如何使用HTML和CSS重新创建此导航栏?[重复]

n6lpvg4x  于 2023-04-18  发布在  其他
关注(0)|答案(2)|浏览(127)

此问题已在此处有答案

How to create CSS breadcrumbs with clip-path?(1个答案)
5天前关闭。

.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 1;
  display: flex;
  flex-direction: row;
}

.nav-bar {
  background-color: var(--nav-color );
  box-sizing: border-box;
  text-align: center;
  height: 43px;
  margin: 8px;
  overflow: hidden;
  border: 1.5px solid #000000;
}
.first {
  position: relative;
  z-index: 4;
  width: 106px;
  border-radius: 15px;
}
.second {
  width: 100px;
  position: relative;
  left: -29px;
  z-index: 3;
  border-radius: 0 15px 15px 0;
}
.third {
  width: 100px;
  position: relative;
  left: -60px;
  z-index: 2;
  border-radius: 0 15px 15px 0;
}
<!--===== HEADER =====-->
  <header class="header">
    <!--===== NAV-BAR =====-->
    <a href=#home class="nav-bar first"><span class="nav-bar-title">Home</span></a>
    <a href=#about class="nav-bar second"><span class="nav-bar-title">About</span></a>
    <a href=#more class="nav-bar third"><span class="nav-bar-title">More</span></a>
</header>

navigation bar in Realme file manager
我想得到三角形形状的权利边缘,告诉我如何才能重新创建它。
如果有类似的导航栏模板,请共享。
代码片段包含我的版本的HTML和CSS代码,

ohtdti5x

ohtdti5x1#

你可以使用conic-gradient()

#breadcrumb {
  display: flex;
  background: #f6ede4;
}

.item {
  padding: 1em 3em 1em 2em;
  background-image:
    conic-gradient(
      from 210deg at calc(100% - 1em) 50%,
      #f6ede4 120deg,
      transparent 120deg
    ),
    conic-gradient(
      from 210deg at 100% 50%,
      #ffffff 120deg,
      transparent 120deg
    );
}
<div id="breadcrumb">
  <div class="item">Phone storage</div>
  <div class="item">Download</div>
  <div class="item active">Apps</div>
</div>

...或伪元素上的某个mask

#breadcrumb {
  display: flex;
  background: #f6ede4;
}

.item {
  position: relative;
  padding: 1em 2em;
}

.item::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: calc(100% + 1em);
  background-image:
    conic-gradient(
      from 210deg at calc(100% - 1em) 50%,
      #f6ede4 120deg,
      transparent 120deg
    ),
    conic-gradient(
      from 210deg at 100% 50%,
      #ffffff 120deg,
      transparent 120deg
    );
  -webkit-mask: conic-gradient(
    from 180deg at calc(100% - 2em) 50%,
    transparent 180deg,
    #000 180deg
  );
  mask: conic-gradient(
    from 180deg at calc(100% - 2em) 50%,
    transparent 180deg,
    #000 180deg
  );
}
<div id="breadcrumb">
  <div class="item">Phone storage</div>
  <div class="item">Download</div>
  <div class="item active">Apps</div>
</div>
xqkwcwgp

xqkwcwgp2#

.arrow-up {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid black;
}

.arrow-down {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #f00;
}

.arrow-right {
  width: 0;
  height: 0;
  border-top: 60px solid transparent;
  border-bottom: 60px solid transparent;
  border-left: 60px solid green;
}

.arrow-left {
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid blue;
}
<div class="arrow-up"></div>
<div class="arrow-down"></div>
<div class="arrow-left"></div>
<div class="arrow-right"></div>

相关问题