H1 元素的宽度
Width of a H1 element
我正在制作一个网站的标题,但我 运行 遇到了问题。屏幕左侧有一些文本,右侧是语言 select 菜单,使用下拉菜单。但是,如果我将鼠标悬停在整个标题上,下拉菜单就会展开。我只希望在我真正将鼠标悬停在语言 select 上时发生这种情况。这里有一些代码:
header > h1 {
font-weight: bold;
font-size: 40px;
margin-left: 30px;
margin-top: 4%;
}
#hr1 {
background-color: #FFF;
height: 3px;
width: 50%;
margin-left: 30px;
margin-top: 10px;
}
.dropdown {
text-align: right;
margin-right: 30px;
margin-top: -57px;
background: pink;
}
.dropdown-div {
font-weight: bold;
font-size: 40px;
color: #FFF;
cursor: pointer;
}
.dropdown-items {
display: none;
}
.dropdown:hover .dropdown-items {
display: block;
}
.dropdown-items > button {
background-color: #0E3854;
border: none;
cursor: pointer;
}
.dropdown-items #dropdown-item1 {
display: none;
margin-bottom: 10px;
}
.dropdown-item {
display: block;
color: #FFF;
font-size: 20px;
margin-top: 10px;
margin-left: auto;
}
#dropdown-item2 {
margin-bottom: 10px;
}
#hr2 {
background: #FFF;
height: 3px;
width: 7%;
margin-left: auto;
margin-right: 30px;
margin-top: -3px;
}
<header>
<h1>The right side of the page</h1>
</header>
<hr id="hr1">
<div class="dropdown">
<h1 class="dropdown-div" id="dropdown-div-text">Taal</h1>
<div class="dropdown-items">
<button onclick="languageSelectDutch()" class="dropdown-item" id="dropdown-
item1">Nederlands</button>
<button onclick="languageSelectEnglish()" class="dropdown-item" id="dropdown-
item2">Engels</button>
</div>
</div>
希望有人有解决办法!
所以html结构并不理想。我 运行 代码并在 .dropdown class 中添加了以下内容:
width:100px;float:right;
如果下拉元素占据整个屏幕,它将悬停在屏幕上。您指定 text-align:right
但 div 仍然占据整个屏幕。我提供的代码可以工作,但不是一个很好的解决方案,它会在不同的视口大小下表现不佳。要以正确的方式做到这一点,您可能需要使用 flexbox。强烈推荐看这个guide.
下面是使用包装器对下拉列表进行对齐的开始。您还有其他布局问题需要解决,但我不确定您的预期结果。
header>h1 {
font-weight: bold;
font-size: 40px;
margin-left: 30px;
margin-top: 4%;
}
.dropdown-wrapper {
text-align: right;
margin-right: 30px;
margin-top: -57px;
}
.dropdown {
display: inline-block; /* make this element shrink to contents */
}
.dropdown-div {
font-weight: bold;
font-size: 40px;
color: #FFF;
cursor: pointer;
background: pink;
}
.dropdown-items {
display: none;
}
.dropdown:hover .dropdown-items {
display: block;
}
.dropdown-items>button {
background-color: #0E3854;
border: none;
cursor: pointer;
}
.dropdown-items #dropdown-item1 {
margin-bottom: 10px;
}
.dropdown-item {
color: #FFF;
font-size: 20px;
margin-top: 10px;
margin-left: auto;
}
#dropdown-item2 {
margin-bottom: 10px;
}
<header>
<h1>The right side of the page</h1>
</header>
<hr id="hr1">
<div class="dropdown-wrapper">
<div class="dropdown">
<h1 class="dropdown-div" id="dropdown-div-text">Taal</h1>
<div class="dropdown-items">
<button onclick="languageSelectDutch()" class="dropdown-item" id="dropdown-
item1">Nederlands</button>
<button onclick="languageSelectEnglish()" class="dropdown-item" id="dropdown-
item2">Engels</button>
</div>
</div>
</div>
我正在制作一个网站的标题,但我 运行 遇到了问题。屏幕左侧有一些文本,右侧是语言 select 菜单,使用下拉菜单。但是,如果我将鼠标悬停在整个标题上,下拉菜单就会展开。我只希望在我真正将鼠标悬停在语言 select 上时发生这种情况。这里有一些代码:
header > h1 {
font-weight: bold;
font-size: 40px;
margin-left: 30px;
margin-top: 4%;
}
#hr1 {
background-color: #FFF;
height: 3px;
width: 50%;
margin-left: 30px;
margin-top: 10px;
}
.dropdown {
text-align: right;
margin-right: 30px;
margin-top: -57px;
background: pink;
}
.dropdown-div {
font-weight: bold;
font-size: 40px;
color: #FFF;
cursor: pointer;
}
.dropdown-items {
display: none;
}
.dropdown:hover .dropdown-items {
display: block;
}
.dropdown-items > button {
background-color: #0E3854;
border: none;
cursor: pointer;
}
.dropdown-items #dropdown-item1 {
display: none;
margin-bottom: 10px;
}
.dropdown-item {
display: block;
color: #FFF;
font-size: 20px;
margin-top: 10px;
margin-left: auto;
}
#dropdown-item2 {
margin-bottom: 10px;
}
#hr2 {
background: #FFF;
height: 3px;
width: 7%;
margin-left: auto;
margin-right: 30px;
margin-top: -3px;
}
<header>
<h1>The right side of the page</h1>
</header>
<hr id="hr1">
<div class="dropdown">
<h1 class="dropdown-div" id="dropdown-div-text">Taal</h1>
<div class="dropdown-items">
<button onclick="languageSelectDutch()" class="dropdown-item" id="dropdown-
item1">Nederlands</button>
<button onclick="languageSelectEnglish()" class="dropdown-item" id="dropdown-
item2">Engels</button>
</div>
</div>
希望有人有解决办法!
所以html结构并不理想。我 运行 代码并在 .dropdown class 中添加了以下内容:
width:100px;float:right;
如果下拉元素占据整个屏幕,它将悬停在屏幕上。您指定 text-align:right
但 div 仍然占据整个屏幕。我提供的代码可以工作,但不是一个很好的解决方案,它会在不同的视口大小下表现不佳。要以正确的方式做到这一点,您可能需要使用 flexbox。强烈推荐看这个guide.
下面是使用包装器对下拉列表进行对齐的开始。您还有其他布局问题需要解决,但我不确定您的预期结果。
header>h1 {
font-weight: bold;
font-size: 40px;
margin-left: 30px;
margin-top: 4%;
}
.dropdown-wrapper {
text-align: right;
margin-right: 30px;
margin-top: -57px;
}
.dropdown {
display: inline-block; /* make this element shrink to contents */
}
.dropdown-div {
font-weight: bold;
font-size: 40px;
color: #FFF;
cursor: pointer;
background: pink;
}
.dropdown-items {
display: none;
}
.dropdown:hover .dropdown-items {
display: block;
}
.dropdown-items>button {
background-color: #0E3854;
border: none;
cursor: pointer;
}
.dropdown-items #dropdown-item1 {
margin-bottom: 10px;
}
.dropdown-item {
color: #FFF;
font-size: 20px;
margin-top: 10px;
margin-left: auto;
}
#dropdown-item2 {
margin-bottom: 10px;
}
<header>
<h1>The right side of the page</h1>
</header>
<hr id="hr1">
<div class="dropdown-wrapper">
<div class="dropdown">
<h1 class="dropdown-div" id="dropdown-div-text">Taal</h1>
<div class="dropdown-items">
<button onclick="languageSelectDutch()" class="dropdown-item" id="dropdown-
item1">Nederlands</button>
<button onclick="languageSelectEnglish()" class="dropdown-item" id="dropdown-
item2">Engels</button>
</div>
</div>
</div>