【问题标题】:how can i apply css border along with css padding我如何应用 css 边框和 css 填充
【发布时间】:2019-10-18 09:54:02
【问题描述】:

我需要有条件地突出显示现有应用程序的菜单项。为了突出显示该项目,我为该特定项目使用了底部边框。但是已经有一个正在应用的填充,并且突出显示的行需要在底部(附图供参考)

.menulist {
  background: white;
  color: black;
  font-family: 'Times New Roman', Times, serif;
  transition: height .3s;
  z-index: 9;
  width: 100%;
}

.menulist .menulist-menu-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px;
  justify-content: flex-start;
  position: relative;
  justify-content: inherit;
}

.menulist .menulist_nav {
  padding-left: 0;
  list-style: none;
  font-size: 14px;
  line-height: 1.71;
  font-weight: normal;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: stretch;
  height: 100%;
}

.menulist_bottom_border {
  border-bottom: 2px solid;
  border-color: gray;
  margin-left: 20px;
}
<header class="menulist">
  <div class="menulist-menu-bar">
    <div>
      <ul class="menulist_nav">
        <div class="menulist_bottom_border">nav1</div>
        <div>nav2</div>
        <div>nav3</div>
      </ul>
    </div>
  </div>
</header>

【问题讨论】:

    标签: javascript html css frontend


    【解决方案1】:

    兄弟,它正在工作。看到这个:-

    .menulist {
          background: white;
          color: black;
          font-family: 'Times New Roman', Times, serif;
          transition: height .3s;
          z-index: 9;
          width: 100%;
        }
    
        .menulist .menulist-menu-bar {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          padding: 8px;
          justify-content: flex-start;
          position: relative;
        }
    
        .menulist .menulist_nav {
          padding-left: 0;
          list-style: none;
          font-size: 14px;
          line-height: 1.71;
          font-weight: normal;
          margin: 0;
          display: flex;
          flex-wrap: wrap;
          align-content: center;
          align-items: stretch;
          height: 100%;
        }
    
        .menulist_bottom_border {
          border-bottom: 2px solid;
          border-color: gray;
          margin-left: 20px;
        }
    <header class="menulist">
      <div class="menulist-menu-bar">
        <div>
          <ul class="menulist_nav">
            <div class="menulist_bottom_border">nav1</div>
            <div class="menulist_bottom_border">nav2</div>
            <div class="menulist_bottom_border">nav3</div>
          </ul>
        </div>
      </div>
    </header>

    您看到了意想不到的事情,因为只有一个 div 具有类菜单列表底部边框。由于大多数元素都有 flex display 属性,所以看起来像这样。

    【讨论】:

    • 我的问题不是关于所有项目的底部边框,如果您运行代码 sn-p 您会观察到项目的突出显示线位于填充上方,我希望它类似于图像所示以及填充。
    【解决方案2】:

    据我了解,您的问题解释了我的想法,可能会对您有所帮助。

    1. text 和border-bottom 之间的填充是因为line-hight: 1.71;
    2. 图像中显示的黄色填充是因为在类menulist-menu-bar 上应用了填充。

    如果您想删除其中任何一个,则可以使用这些值来获得所需的输出。

    【讨论】:

    • 感谢您的建议,但我无法删除填充,因为它是现有应用程序并且必须存在。
    猜你喜欢
    • 2015-06-20
    • 2022-01-24
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 2013-05-15
    • 2010-12-12
    相关资源
    最近更新 更多