使用纯CSS实现移动菜单更改内容区功能

首先先放一张效果图

效果图

HTML主题

<div>
    <div class="a">菜单1</div>
    <div class="a">菜单2</div>
    <div class="b">内容1</div>
    <div class="b">内容2</div>
</div>

css部分

/*主体样式 */
.a
{
    float: left;
    width: 100px;
    height: 40px;
    margin: 2px;
    background-color: #29b6f6;
}
.b
{
    clear: both;
    width: 204px;
    height: 200px;
    margin: 2px;
    background-color: #8bc34a;
}
.b:nth-child(4)
{
    display: none;
    background-color: #ffeb3b;
}
/*内容切换*/
.a:nth-child(1):hover ~ .b:nth-child(3)
{
    display: block;
}
.a:nth-child(1):hover ~ .b:nth-child(4)
{
    display: none;
}
.a:nth-child(2):hover ~ .b:nth-child(3)
{
    display: none;
}
.a:nth-child(2):hover ~ .b:nth-child(4)
{
    display: block;
}
选择器 例子 例子描述 CSS
:nth-child(n) p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。 3
:hover a:hover 选择鼠标指针位于其上的链接。 1
element1~element2 p~ul 选择前面有 <p> 元素的每个 <ul> 元素。 3
  • 首先,我们通过:nth-child(n)伪类定位到相应的元素(菜单)上;
  • 然后,使用:hover选择器获取在鼠标移至菜单时的菜单元素,
  • 接着使用~选择器获取在鼠标移至菜单时的菜单元素后跟着的内容元素。
  • 这样我们就可以通过改变display属性来改变内容区的内容了。

这种方法只能在鼠标移至菜单项时改变内容区的内容和样式,在鼠标移开时,内容区恢复默认。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文转载自:众成翻译译者:为之漫笔链接:http://www.zcfy.cc/article/239原文:http...
    极乐君阅读 12,115评论 1 62
  • display: none; 与 visibility: hidden; 的区别 联系:它们都能让元素不可见 区别...
    纹小艾阅读 5,819评论 0 1
  • 1.class 和 id 的使用场景? 类选择器允许以一种独立于文档元素的方式来指定样式。该选择器可以单独使用,也...
    草鞋弟阅读 7,180评论 0 1
  • 其实平时用得多的选择器无非也就是那么几个,时间久了,许多不常用的选择器就慢慢忘记了。为了不让自己忘记这些选择器,今...
    盛夏晚清风阅读 5,842评论 0 5
  • 本人身高170体重130【笑哭】 本姑娘看上了一条小花裙 就这件呢,这是因为体重劳资穿不上~૧(´৺`)૭~可是啊...
    马蚁May阅读 1,558评论 0 0

友情链接更多精彩内容