<分区>
<分区>
我已经为某个应用程序创建了一个设置列表。所有设置的容器都是一个flex元素,flex方向设置为column。现在,我创建了一个带有 .option 类的 div,并放置了一个 h2 和一个 <select>
。 .我将 .option 容器设置为显示为 flex 并将方向设置为行,但它不起作用!他们堆积起来!
我尝试制作 h2 和 <select>
内联 block ,我尝试将每个 block 的宽度设置为 50%,没有。我将附上带标签的屏幕截图,以及相关代码的 html 和 css 片段。
#SettingsOverlay {
display: block;
position: fixed;
z-index: 3;
width: 100%;
height: 100%;
background-color: rgba(48, 48, 48, 0.7);
background-size: cover;
}
#SettingsOverlay div {
width: 80%;
height: 80%;
background-color: purple;
margin: auto;
padding: 10px;
display: flex;
flex-direction: column;
}
#Options {
display: flex;
flex-direction: column;
}
.option {
display: flex;
flex-direction: row;
}
.option h2 {
display: inline-block;
width: 50%;
}
.option select {
display: inline-block;
width: 50%;
}
<div id='SettingsOverlay'>
<div>
<h1>Settings</h1>
<div id='Options'>
<div class='option'>
<h2>Timezone</h2>
<select>
<option value="GMT-12">GMT-12</option>
<option value="GMT-11">GMT-11</option>
<option value="GMT-10">GMT-10</option>
<option value="GMT-9">GMT-9</option>
<option value="GMT-8">GMT-8</option>
<option value="GMT-7">GMT-7</option>
<option value="GMT-6">GMT-6</option>
<option value="GMT-5">GMT-5</option>
<option value="GMT-4">GMT-4</option>
<option value="GMT-3">GMT-3</option>
<option value="GMT-2">GMT-2</option>
<option value="GMT-1">GMT-1</option>
<option value="GMT">GMT</option>
<option value="GMT+1">GMT+1</option>
<option value="GMT+2">GMT+2</option>
<option value="GMT+3">GMT+3</option>
<option value="GMT+4">GMT+4</option>
<option value="GMT+5">GMT+5</option>
<option value="GMT+6">GMT+6</option>
<option value="GMT+7">GMT+7</option>
<option value="GMT+8">GMT+8</option>
<option value="GMT+9">GMT+9</option>
<option value="GMT+10">GMT+10</option>
<option value="GMT+11">GMT+11</option>
<option value="GMT+12">GMT+12</option>
</select>
</div>
</div>
</div>
</div>
最佳答案
你的规则 .option
被 #SettingsOverlay div
覆盖,把它变成 #SettingsOverlay > div
或者增加 的 css specifity .option
同时使用父 ID #SettingsOverlay .option
https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity
Specificity is the means by which browsers decide which CSS property values are the most relevant to an element and, therefore, will be applied. Specificity is based on the matching rules which are composed of different sorts of CSS selectors.
How is specificity calculated?
Specificity is a weight that is applied to a given CSS declaration, determined by the number of each selector type in the matching selector. When multiple declarations have equal specificity, the last declaration found in the CSS is applied to the element. Specificity only applies when the same element is targeted by multiple declarations. As per CSS rules, directly targeted elements will always take precedence over rules which an element inherits from its ancestor.
#SettingsOverlay {
/* display: none;*/
position: fixed;
z-index: 3;
width: 100%;
height: 100%;
background-color: rgba(48, 48, 48, 0.7);
background-size: cover;
}
#SettingsOverlay div {
width: 80%;
height: 80%;
background-color: purple;
margin: auto;
padding: 10px;
display: flex;
flex-direction: column;
}
#Options {
display: flex;
flex-direction: column;
}
#SettingsOverlay .option {
display: flex;
flex-direction: row;
}
.option h2 {
display: inline-block;
width: 50%;
}
.option select {
display: inline-block;
width: 50%;
}
<div id='SettingsOverlay'>
<div>
<h1>Settings</h1>
<div id='Options'>
<div class='option'>
<h2>Timezone</h2>
<select>
<option value="GMT-12">GMT-12</option>
<option value="GMT-11">GMT-11</option>
<option value="GMT-10">GMT-10</option>
<option value="GMT-9">GMT-9</option>
<option value="GMT-8">GMT-8</option>
<option value="GMT-7">GMT-7</option>
<option value="GMT-6">GMT-6</option>
<option value="GMT-5">GMT-5</option>
<option value="GMT-4">GMT-4</option>
<option value="GMT-3">GMT-3</option>
<option value="GMT-2">GMT-2</option>
<option value="GMT-1">GMT-1</option>
<option value="GMT">GMT</option>
<option value="GMT+1">GMT+1</option>
<option value="GMT+2">GMT+2</option>
<option value="GMT+3">GMT+3</option>
<option value="GMT+4">GMT+4</option>
<option value="GMT+5">GMT+5</option>
<option value="GMT+6">GMT+6</option>
<option value="GMT+7">GMT+7</option>
<option value="GMT+8">GMT+8</option>
<option value="GMT+9">GMT+9</option>
<option value="GMT+10">GMT+10</option>
<option value="GMT+11">GMT+11</option>
<option value="GMT+12">GMT+12</option>
</select>
</div>
</div>
</div>
</div>
关于html - flex 方向不被尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55027432/