css 如何对齐嵌入在另一个列表中的列表项?

8iwquhpp  于 2022-12-24  发布在  其他
关注(0)|答案(2)|浏览(118)

我正在尝试在我的页面顶部做一个下拉菜单;但是,我无法正确对齐两个列表项元素的边缘。
问题的图片:

这是我的代码:

@font-face {
  font-family: "Chivo Mono";
  src: url("Resource/Fonts/ChivoMono-Black.ttf") format("ttf");
  font-weight: normal;
  font-style: normal;
}

* {
  box-sizing: border-box;
  font-family: 'Trebuchet MS';
  color: #777;
}

html,
body {
  margin: 0;
  padding: 0;
}

.emails {
  height: 100px;
  width: 250px;
}

.nav li {
  display: inline-block;
}

.header {
  background-color: #A7C7E7;
  background-size: cover;
  padding-bottom: 40px;
  margin-bottom: 20px;
}

.nav a {
  display: inline-block;
  padding: 1em;
  color: white;
  text-decoration: none;
}

.nav a:hover {
  background-color: rgba(255, 150, 190, 1);
}

.main-nav {
  text-align: center;
  font-size: 1.7em;
  border-bottom: 3px solid rgba(255, 150, 190, 1);
}

.main-nav li {
  padding: 0 5%;
}

.page-name {
  text-align: center;
  margin: 0;
  font-size: 4em;
  font-family: "Chivo Mono";
  font-weight: normal;
  color: rgba(255, 150, 150, 1);
}

.footer {
  background-color: #A7C7E7;
  margin: 50px 0px;
  padding: 50px 0px;
  border: white;
}

.footer h1 {
  padding: 0px 0px;
}

.footer textarea {
  margin-top: 2em;
  width: 400px;
  height: 200px;
}

.body-text {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1.5em;
}

.footer {
  text-align: center;
  margin-top: 10em;
  margin-bottom: 0em;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.email-button {
  padding: 1em;
}

.article-title h2 {
  text-align: center;
  color: Black;
}

.coming-soon {
  color: white;
}

.nav li {
  color: white;
}

.email-button button {
  background-color: rgba(255, 150, 190, 1);
  color: white;
  padding: 7px 20px;
  font-size: 1.3em;
  border-radius: 10px;
  border: 0px;
  transition-duration: 0.9s;
}

.button:hover {
  background-color: white;
  color: #A7C7E7;
}

.dropdown ul li a {
  font-size: .6em;
}

.dropdown ul a {
  display: inline-block;
  background-color: rgba(255, 150, 190, 1);
  text-align: center;
}

p {
  text-align: center;
}
<header class="header">
  <nav class="nav main-nav">
    <ul>
      <li><a href="index.html">Home</a></li>
      <li class="dropdown"><a>Rules</a>
        <ul>
          <li><a href="gunlawramble.html">Bus</a></li>
        </ul>
      </li>
    </ul>
  </nav>
  <div>
    <h1 class="page-name">About</h1>
  </div>
</header>
<section class="body-text">
  <div>
    <p text>To be writen...
      <p>
  </div>
</section>

我已经尝试了混乱的填充和边距,以及显示类型。

vshtjzan

vshtjzan1#

尝试使用position进行调整,如下所示:

nav .dropdown {
  position: relative;
}
nav .dropdown ul {
  position: absolute;
}
nav > ul .dropdown > ul,
nav > ul .dropdown > ul li {
  padding-left:0;
}

Hereposition的文档,如果你想了解更多。

演示

x一个一个一个一个x一个一个二个x

eqqqjvef

eqqqjvef2#

这真的只是一个黑客得到你正在尝试做什么:

<li style="padding-right:119px;"><a href= "gunlawramble.html">Bus</a></li>

使用内联css样式,你可以添加一个填充到你想要调整的特定元素。
在本例中,可以看到padding-right:119px将元素向左对齐。
如果希望元素在另一侧对齐,可以类似地使用padding-left并以相同的方式进行调整。
x一个一个一个一个x一个一个二个x

相关问题