更改另一个元素的 CSS
Change CSS of another element
我有 2 个视图。我想在第一个元素处于活动状态时更改第二个元素的样式 WITHOUT 修改第一个元素
#sidebar.active {
margin-left: 0 !important;
}
#content{
padding-right:100px;
}
这是2个元素。当 SideBar 处于活动状态时,我希望页面的内容在右侧获得 100px 的填充,而不更改侧边栏中的任何内容
我知道我能做什么
#sidebar.active , ##content {
margin-left: 0 !important;
padding-right:100px;
}
但这会给补充工具栏也增加 100 像素的填充,这是我不想要的。我只想在 SideBar 处于活动状态时影响内容。感谢任何帮助
您可以使用纯 CSS 实现此目的,具体取决于您的 HTML 标记。
解决方案 1(如果您 HTML 中的#content "next" 到#sidebar 是正确的):
.container {
display: block;
margin: 10px;
}
#sidebar {
/* for demonstration */
width: 100px;
height: 50px;
background-color: red;
display: inline-block;
vertical-align: top;
margin-left: 0;
}
#content {
/* for demonstration */
width: 100px;
height: 50px;
background-color: orange;
display: inline-block;
vertical-align: top;
}
#sidebar.active + #content {
padding-right: 100px;
}
<div class="container">
<div id="sidebar">
INACTIVE sidebar
</div>
<div id="content">
content
</div>
</div>
<div class="container">
<div id="sidebar" class="active">
ACTIVE sidebar
</div>
<div id="content">
content
</div>
</div>
解决方案 2(如果#content 是您 HTML 中#sidebar 的子项):
.container {
display: block;
margin: 10px;
}
#sidebar {
/* for demonstration */
width: ;
height: 50px;
background-color: red;
display: inline-block;
vertical-align: top;
margin-left: 0;
}
#content {
/* for demonstration */
width: 100px;
height: 50px;
background-color: orange;
display: inline-block;
vertical-align: top;
}
#sidebar.active #content {
padding-right: 100px;
}
<div class="container">
<div id="sidebar">
INACTIVE sidebar
<div id="content">
content
</div>
</div>
</div>
<div class="container">
<div id="sidebar" class="active">
ACTIVE sidebar
<div id="content">
content
</div>
</div>
</div>
我有 2 个视图。我想在第一个元素处于活动状态时更改第二个元素的样式 WITHOUT 修改第一个元素
#sidebar.active {
margin-left: 0 !important;
}
#content{
padding-right:100px;
}
这是2个元素。当 SideBar 处于活动状态时,我希望页面的内容在右侧获得 100px 的填充,而不更改侧边栏中的任何内容
我知道我能做什么
#sidebar.active , ##content {
margin-left: 0 !important;
padding-right:100px;
}
但这会给补充工具栏也增加 100 像素的填充,这是我不想要的。我只想在 SideBar 处于活动状态时影响内容。感谢任何帮助
您可以使用纯 CSS 实现此目的,具体取决于您的 HTML 标记。
解决方案 1(如果您 HTML 中的#content "next" 到#sidebar 是正确的):
.container {
display: block;
margin: 10px;
}
#sidebar {
/* for demonstration */
width: 100px;
height: 50px;
background-color: red;
display: inline-block;
vertical-align: top;
margin-left: 0;
}
#content {
/* for demonstration */
width: 100px;
height: 50px;
background-color: orange;
display: inline-block;
vertical-align: top;
}
#sidebar.active + #content {
padding-right: 100px;
}
<div class="container">
<div id="sidebar">
INACTIVE sidebar
</div>
<div id="content">
content
</div>
</div>
<div class="container">
<div id="sidebar" class="active">
ACTIVE sidebar
</div>
<div id="content">
content
</div>
</div>
解决方案 2(如果#content 是您 HTML 中#sidebar 的子项):
.container {
display: block;
margin: 10px;
}
#sidebar {
/* for demonstration */
width: ;
height: 50px;
background-color: red;
display: inline-block;
vertical-align: top;
margin-left: 0;
}
#content {
/* for demonstration */
width: 100px;
height: 50px;
background-color: orange;
display: inline-block;
vertical-align: top;
}
#sidebar.active #content {
padding-right: 100px;
}
<div class="container">
<div id="sidebar">
INACTIVE sidebar
<div id="content">
content
</div>
</div>
</div>
<div class="container">
<div id="sidebar" class="active">
ACTIVE sidebar
<div id="content">
content
</div>
</div>
</div>