html - 我怎样才能改变之间的空间和- 元素?
问题描述
我对可能最简单的css问题发疯了。我只想在 a<ul>
和<li>
元素之间添加一些边距。当悬停在某个类别时,我使用下拉菜单。
我尝试添加margin-top
我拥有的每个 css 类/元素,但根本没有效果。我在这里缺课还是有任何解决方法?
这是我认为是可行的解决方案,但它没有附加边距:
#sidebar .subbar li:first-child {
margin-top: 10px;
}
提前致谢!
HTML:
<div id="sidebar">
<header>
<a href="#">Dasocc</a>
</header>
<ul class="nav">
<li class="countries"><img src="{% static "images/germany.png" %}" alt="germany">1. Bundesliga
<ul class="subbar">
<li><a class="team" id="69">FC Bayern München</a></li>
<li><a class="team" id="70">Borussia Dortmund</a></li>
<li><a class="team" id="73">Bayer 04 Leverkusen</a></li>
<li><a class="team" id="74">RB Leipzig</a></li>
<li><a class="team">VfL Wolfsburg</a></li>
<li><a class="team">SC Freiburg</a></li>
<li><a class="team">Eintracht Frankfurt</a></li>
<li><a class="team">Borussia M. Gladbach</a></li>
<li><a class="team">FC Schalke 04</a></li>
<li><a class="team">TSG 1899 Hoffenheim</a></li>
<li><a class="team">1. FC Union Berlin</a></li>
<li><a class="team">Fortuna Düsseldorf</a></li>
<li><a class="team">SV Werder Bremen</a></li>
<li><a class="team">1. FC Köln</a></li>
<li><a class="team">SC Paderborn</a></li>
<li><a class="team">FC Augsburg</a></li>
<li><a class="team">Hertha BSC Berlin</a></li>
</ul>
</li>
CSS:
/* Länderkategorien untereinander */
#sidebar .nav .countries {
padding-top: 10px;
}
/* hovered Team */
#sidebar .nav a:hover {
color: #FF5B5B;
font-size: 13px;
font-weight: bold;
background-color: #000481;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
box-shadow: 0 0 0.4em #000481;
}
/* angeklicktes Team */
#sidebar .subbar .team.active {
font-weight: bold;
background-color: #000481;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
box-shadow: 0 0 0.4em #000481;
}
/* Untermenü ausblenden, um dropdown Effekt zu aktivieren */
#sidebar .subbar {
display: none;
width: 100%;
padding-top: 15px;
}
/* Dropdownmenu Funktion */
#sidebar .countries:hover .subbar {
display: table-row;
list-style: none;
}
/* Style Menüpunkte Countries */
.countries {
text-decoration: none;
color: #FFF;
font-size: 14px;
display: block;
border: none;
background: none;
cursor: pointer;
outline: none;
font-family: 'Muli', sans-serif;
}
/* Einzelne List-Container in Submenü */
#sidebar .subbar li {
height: 20px;
line-height: 20px;
display: inline-block;
width: 100%;
}
/* Einzelne Teamnamen in Submenü */
#sidebar .subbar .team {
display:table-cell;
font-size: 11px;
font-family: 'Muli', sans-serif;
padding-left: 33px;
padding-right: 5px;
}
´´´
解决方案
这是因为在:hover
事件中您将 显示<ul>
为table-row
:
#sidebar .countries:hover .subbar {
display: table-row;
...
实际上,如果您将其显示为 a block
then 您会发现它以您指定的边距显示,正如您所期望的那样:
#sidebar .countries:hover .subbar {
display: block;
...
下面的代码片段显示了它(尽管它的渲染效果很差):
#sidebar {
background-color: blue;
}
/* Länderkategorien untereinander */
#sidebar .nav .countries {
padding-top: 10px;
}
/* hovered Team */
#sidebar .nav a:hover {
color: #FF5B5B;
font-size: 13px;
font-weight: bold;
background-color: #000481;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
box-shadow: 0 0 0.4em #000481;
}
/* angeklicktes Team */
#sidebar .subbar .team.active {
font-weight: bold;
background-color: #000481;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
box-shadow: 0 0 0.4em #000481;
}
/* Untermenü ausblenden, um dropdown Effekt zu aktivieren */
#sidebar .subbar {
display: none;
width: 100%;
padding-top: 15px;
}
/* Dropdownmenu Funktion */
#sidebar .countries:hover .subbar {
display: block;
list-style: none;
}
/* Style Menüpunkte Countries */
.countries {
text-decoration: none;
color: #FFF;
font-size: 14px;
display: block;
border: none;
background: none;
cursor: pointer;
outline: none;
font-family: 'Muli', sans-serif;
}
/* Einzelne List-Container in Submenü */
#sidebar .subbar li {
height: 20px;
line-height: 20px;
display: inline-block;
width: 100%;
}
/* Einzelne Teamnamen in Submenü */
#sidebar .subbar .team {
display:table-cell;
font-size: 11px;
font-family: 'Muli', sans-serif;
padding-left: 33px;
padding-right: 5px;
}
<div id="sidebar">
<header>
<a href="#">Dasocc</a>
</header>
<ul class="nav">
<li class="countries"><img src="" alt="germany">1. Bundesliga
<ul class="subbar">
<li><a class="team" id="69">FC Bayern München</a></li>
<li><a class="team" id="70">Borussia Dortmund</a></li>
<li><a class="team" id="73">Bayer 04 Leverkusen</a></li>
<li><a class="team" id="74">RB Leipzig</a></li>
<li><a class="team">VfL Wolfsburg</a></li>
<li><a class="team">SC Freiburg</a></li>
<li><a class="team">Eintracht Frankfurt</a></li>
<li><a class="team">Borussia M. Gladbach</a></li>
<li><a class="team">FC Schalke 04</a></li>
<li><a class="team">TSG 1899 Hoffenheim</a></li>
<li><a class="team">1. FC Union Berlin</a></li>
<li><a class="team">Fortuna Düsseldorf</a></li>
<li><a class="team">SV Werder Bremen</a></li>
<li><a class="team">1. FC Köln</a></li>
<li><a class="team">SC Paderborn</a></li>
<li><a class="team">FC Augsburg</a></li>
<li><a class="team">Hertha BSC Berlin</a></li>
</ul>
</li>
</ul>
</div>
推荐阅读
- angular - Angular从另一个元素获取输入字段值
- swift - 用CGEvent模拟CTRL+Space切换键盘输入出现显示键盘切换菜单
- python - 使用ubuntu的Python设置工具安装错误
- rx-java2 - rxjava2-jdbc:对 toIterable() 的迭代是阻塞的,线程 reactor-http-nio-2 不支持此功能
- vue.js - 在创建它的同一模块中使用 getter
- javascript - 如果单击按钮,下拉列表选项会更改(VueJS 和 Laravel 6)
- c# - DDD:一个存储库可以访问另一个存储库吗?
- angular - Angular - 导航时未定义的firebase用户ID,刷新后返回
- visual-studio-code - 是否有 vscode 启动完成事件或文件夹打开事件?
- html - onClick Google 脚本不适用于 HTML 表单