当前位置: 首页 > 知识库问答 >
问题:

如何在全屏div标记上添加带边框的三角形

章承基
2023-03-14

我想有一个div,是全屏幕的移动查看端口有一个边界三角形,我已经这样做了桌面屏幕在工程中,但当我应用相同的属性和调整的数字,我确实得到了一些接近我想要的

下面是HTML,这里有一个代码笔

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class=" nav-items-wrapper">
    <div class="navbar-header">
     <a class="navbar-brand" style="margin-top:-8px;" href="/"><img style="width:50%;" src="../../../assets/logos/" alt="">brand</a>
    </div>
    <ul class="nav navbar-nav nav-ul">
     <li class="dem">
        <a href="#">Item 1</a>
     </li>
     <li class="dem">
        <a href="#">Dropdown3</a>
        <ul class="tri" style="visibility: hidden">
            <li class="ic"><a href="#">Option1</a></li>
            <li><a href="#">Option2</a></li>
            <li><a href="#">Option3</a></li>
        </ul>
     </li>
     <li class="dem" style="display: none;">
        <a href="#">Item 1</a>
     </li>
    </ul>
</div>
</nav>
<div class="mdiv">
  Mobile view
</div>

一个有效的是UL的tri类,这将在桌面屏幕上工作,我现在用内联可见性隐藏了它:隐藏

以下是两种情况下的相应样式

.nav-items-wrapper {
  display: flex;
  justify-content: space-around;
}

.nav-ul {
  display: flex;
  flex-direction: row;
}

@media(max-width:767px) {
  .nav-items-wrapper ul li a{
    font-size: 13px;
  }

  .navbar-default {
    padding-top: 5px;
  }

  .nav-ul {
    width: 40vw;
    justify-content: center;
  }

}

.dem: hover > .tri {
    display:block;
}

.tri {
   // display: none;
    width: 300px;
    border-radius:2px;
    position: absolute;
    background-color: #000;
    top: 55px;
    padding: 10px 0;
    right: 0;
    left: auto;
    list-style: none;
}

.tri:after {
    position: absolute;
    left: 50%;
    margin-left: 70px;
    top: -8px;
    width: 0;
    height: 0;
    content:'';
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #000000;
}

.tri li {
    white-space: nowrap;
    padding: 7.5px 15px;
}

.mdiv {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  background-color: #000;
  right: 0;
  left: auto;
  position: absolute;
} 

.mdiv:after {
    position: absolute !important;
    left: 50% !important;
    margin-left: 25% !important;
    top: 30vh !important;
    width: 0 ;
    height: 0 ;
    content:'';
    border-left: 20px solid green;
    border-right: 20px solid red;
    border-bottom: 20px solid #000000;
    pointer-events: none;
}.navbar-header {
  padding: 10px 10px;
}

我使用的是引导导航,我覆盖了导航栏折叠这样的响应风格,因为我不需要它们。

要查看的类是我用于全屏divmdiv

共有1个答案

沈翰
2023-03-14

类的div是从顶部开始的,因此它的一些部分位于导航栏下,我在mdiv中添加了一个边距顶部,并根据大小进行了调整,效果很好,谢谢,这是更新的代码笔

 类似资料:
  • 问题内容: 我有一个div标签, 我想在上面添加一个小三角形。 注意:我希望我的div标签带有某种颜色的边框,而div主体具有另一种颜色。说,我的div背景将为白色,边框应为蓝色。请看这个。 问题答案: 使用位于带有指针和阴影的初始框,您可以对其进行重新样式设置以形成所需的形状: 如果您需要将箭头进一步向右移动,则只需使用for 和

  • 如何使三角形的边框颜色不同于其他形状?如果我改变笔画的颜色,它有点起作用,好吧,我有两个不同颜色的边,没有第三个边框。我该如何改正呢?

  • 有什么方法可以让我创建带有圆形边框的自定义弹出窗口?这是我目前的代码和设计:

  • 问题内容: 我有一个绝对定位的侧面板,我需要通过拖动此边框来更改其宽度。另外,我需要更改边框悬停时的光标。是否可以在不添加另一个div拖动的情况下执行此操作? 这是标记: 我不需要完整的解决方案。是(有文档参考)/否答案就足够了。我不需要帮手的回答。我已经有一个: 同样,这是我想要的功能,除了我想删除多余的东西。 问题答案: 当然,无需额外的div就可以做到这一点。使用css和创建边框并更改光标。

  • 问题内容: 假设我有这样的标记: 然后是CSS 我的外部div和和单元格为何仍不折叠?我在这里想念什么? 顺便说一下,一列中单元格的数量可能是可变的,所以我不能只在一侧有边框。 问题答案: 这是一个演示 首先,您需要更正其语法错误 不

  • 我试着让两个div相邻,它们之间有一个对角线空间。我在stackoverflow上看到过多个关于对角线div的教程,但它们都是通过为带有纯色的div使用两个边框并使用它们创建的对角线来实现的。但我想要图片/背景图像,而不是纯色。甚至可能还有其他内容,比如在对角线下的文本。当使用边框时,这是不可能的,因为边框在div之外。(floatright隐藏溢出或其他内容。) 这里有人能给我一个提示如何实现这