是否可以根据特定区域的宽度应用悬停属性
Is it possible to apply hover property based on width of a particular area?
function shrinkMenu(){
document.getElementById("aside").className="aside-after-click";
document.getElementById("main").className="main-after-click";
var l= document.getElementsByClassName('hide-menu');
for (var j = 0;j < l.length ; j++) {
l[j].classList.add("hide-menu-after-click");
}
}
ul,li {
list-style:none;
}
#aside {
float:left;
/*width:220px;*/
height:60px;
background-color:red;
}
.aside{
width:220px;
}
.aside-after-click{
width:60px;
}
#main {
float:left;
height:60px;
background-color:green;
}
.main{
width:calc(100% - 220px);
}
.main-after-click{
width:calc(100% - 60px);
}
#button{
margin-top:10px;
margin-left:10px;
}
.hide-menu-after-click{
display:none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
<div id="aside" class="aside">
<ul>
<li>
<i class = "fa fa-glass" > </i>
<span class="hide-menu"> menu title1 </span>
</li>
<li>
<i class = "fa fa-glass" > </i>
<span class="hide-menu"> menu title2 </span>
</li>
<li>
<i class = "fa fa-glass" > </i>
<span class="hide-menu"> menu title3 </span>
</li>
</ul>
</div>
<div id="main" class="main">
<button type="button" onclick="shrinkMenu();" id="button">shrink menu</button>
</div>
在上面的代码中,我们主要有两个部分1.aside 2.main。当我们点击按钮时,aside部分会收缩,菜单标题也会隐藏。我需要在相应的图标上悬停显示菜单标题。是否可以根据特定区域的宽度应用悬停属性(使用@media规则(?或者任何其他解决方案?
注意:当边的宽度为220px时(仅当宽度为60px时有效(
这里,使用~
通用兄弟CSS组合子,以及:hover
伪类:
function shrinkMenu() {
document.getElementById("aside").className = "aside-after-click";
document.getElementById("main").className = "main-after-click";
var l = document.getElementsByClassName('hide-menu');
for (var j = 0; j < l.length; j++) {
l[j].classList.add("hide-menu-after-click");
}
}
ul,
li {
list-style: none;
}
#aside {
float: left;
/*width:220px;*/
height: 60px;
background-color: red;
}
.aside {
width: 220px;
}
.aside-after-click {
width: 60px;
}
.aside-after-click:hover {
width: 220px;
}
#main {
float: left;
height: 60px;
background-color: green;
}
.main,
.aside-after-click:hover ~ .main-after-click {
width: calc(100% - 220px);
}
.main-after-click {
width: calc(100% - 60px);
}
#button {
margin-top: 10px;
margin-left: 10px;
}
.hide-menu-after-click {
display: none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
<div id="aside" class="aside">
<ul>
<li>
<i class="fa fa-glass"> </i>
<span class="hide-menu"> menu title1 </span>
</li>
<li>
<i class="fa fa-glass"> </i>
<span class="hide-menu"> menu title2 </span>
</li>
<li>
<i class="fa fa-glass"> </i>
<span class="hide-menu"> menu title3 </span>
</li>
</ul>
</div>
<div id="main" class="main">
<button type="button" onclick="shrinkMenu();" id="button">shrink menu</button>
</div>
相关文章:
- 有条件地在选项标记中应用布尔属性
- 表单's的action属性-如何在javascript中指定完整的应用程序路径
- CSS根据属性的可用性有条件地应用样式
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- vendors.js:未捕获类型错误:无法读取属性'应用'使用webpack时未定义的
- 使用 SharePoint 查询字符串值作为应用程序部件属性
- 我把“;类“;SVG中存在但未应用的节点的属性!为什么?
- jquery.mobile-1.4.5.js:26未捕获类型错误:无法设置属性'移动'react应用程序
- javascript对象属性应用于所有对象
- 找不到属性'link_to'on对象(生成的应用程序控制器)
- Webpacked Angular2应用程序类型错误:无法读取属性'getOptional'的未定义
- Angular赢得't将对象更改应用于它'的属性
- '无法设置未定义'的属性;应用绑定时出错
- 角度嵌套对象-TypeError:无法读取属性'应用程序'的未定义
- 在knocket js中应用绑定后,向视图模型添加新属性
- 我如何通过 id 找到复选框并使用 JQuery 在字符串上应用属性
- 有条件地应用属性(AngularJS)
- 如何通过调整图像大小和应用属性来减少页面加载时间
- Extjs6通过函数从配置中应用属性
- 应用属性'滚动=yes'到所有iFrames