父div之外的CSS选择器

Bny6

所以我有一些HTML,其中我在屏幕外隐藏了导航栏,直到顶部的复选框为:通过单击标签(hamburger png)进行检查,这时它会再次出现在屏幕上,直到出现hamburger icon再次单击,导航菜单再次在屏幕外隐藏。

现在,如果我将nav部分粘贴在标题中,则可以使用选择器(+和〜)来定位它……但是当它是一个新的div而不是紧挨着它时,我想不出一种方法复选框,并且位于父级之外的自己的div中。他们唯一的共同父母就是#wrapper,不是吗?但我不知道如何从另一个div内定位该目标。

有没有一种方法可以在纯CSS中对此进行定位,以使其在:checked复选框时弹出导航菜单,而在未选中该复选框时又返回导航菜单?我已经有了它的JavaScript,但是我也希望在CSS中使用它,以防万一,您知道...用户禁用了JavaScript。

的HTML

<div id="wrapper">
  <header>
    <a href="#" id="logo">TitleBar</a>
    <label for="hamburger" id="nav_open_icon"><img src="http://i.imgur.com/vv4Rdc9.png" alt="open-menu"></label>
    <label for="hamburger" id="nav_close_icon"><img src="/img/hamburger/close.png" alt="close-menu"></label>
    <input type="checkbox" id="hamburger">
    <div id="overlay"></div>
  </header>

  <nav>
    <ul>
      <li id="#"><a href="#">Home</a><img src="/img/home.png" alt="Home"></li>
      <li id="#"><a href="#">Stuff</a><img src="/img/about.png" alt="About"></li>
    </ul>
  </nav>
</div>

的CSS

    body{
       color: white;
       background-color: black;
       font-family: "PT Sans", "sans-serif";
       font-size: 1rem;
    }

    #container{
       margin: 0 auto;
       min-width: 320px;
       max-width: 1600px;
    }

    h1,h2,h3,h4,h5,h6{
       color:#FEBC11;
       text-align: center;
    }

    header{
       padding: 1rem 0rem 1rem 0rem;
       background-color: #333;
    }

    #logo{
       color:#FEBC11;
       font-size: 1rem;
       text-decoration: none;
       margin-left: .5rem;
       font-weight: bold;
    }

    #nav_open_icon{
       position: absolute;
       top: 1rem;
       right: 0;
       margin-right: 1rem;
       width: 30px;
       height: 23px;
    }

    #nav_close_icon{
       display: none;
       position: absolute;
       right: 0;
       top: 0.6rem;
       width: 30px;
       height: 30px;
       margin-right: 1rem;
    }

    #hamburger{
       /*display: none;*/
    }

    #overlay{

    }

    nav{
       position: absolute;
       left: -50%;
       background-color:rgba(124,115,115,.2);
       width: 10rem;
    }

    .nav_toggle{  
       position: absolute;
       left: 0%;
       background-color:rgba(51,51,51,1); 
      }

   #hamburger:checked nav + nav_toggle{

 }

    nav ul{
       list-style-type: none;
       margin: 0;
       padding: 0;  
    }

    nav li{
       padding: 1.1rem;   
    }

    nav a{
       color: white;
       text-decoration: none;
       margin-left: 1rem;  
    }

    nav img{
       float: left;
       margin: -.5rem 0rem 0rem -.2rem;
       height: 35px;
       width: 35px;
    }

https://jsfiddle.net/zaL594s8/

德里克物语

您无法nav使用css将复选框的目标作为目标,因为它不在header包含复选框的之外。有什么原因不能将导航仪移至内header并执行以下操作:

JS小提琴

nav {
  position: absolute;
  left: -50%;
  background-color: rgba(124, 115, 115, .2);
  width: 10rem;
  transition: .3s;
}

input:checked + nav {
  position: absolute;
  left: 0%;
  background-color: rgba(51, 51, 51, 1);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

最新的CSS父选择器

来自分类Dev

HTML和CSS,父选择器?

来自分类Dev

CSS选择器不起作用,父悬停时显示div

来自分类Dev

CSS:before /:after选择器突然与父div分开放置

来自分类Dev

带有 CSS 的样式表之外的选择器

来自分类Dev

嵌套的div CSS选择器

来自分类Dev

闪亮的 removeUI 选择器意外删除父 div

来自分类Dev

CSS ::not(s) 选择器作为父选择器 + :hover on classes 误解

来自分类Dev

基于子选择器的CSS样式父

来自分类Dev

仅使用CSS伪造:has()“父选择器”

来自分类Dev

基于子选择器的CSS样式父

来自分类Dev

CSS选择器-不在直接父项下

来自分类Dev

更少的父选择器

来自分类Dev

如何使用父div内的CSS选择器定位所有元素1,2,3,4 ...... n

来自分类Dev

CSS或选择器

来自分类Dev

是否有一个CSS选择器来选择当前元素之外的元素?

来自分类Dev

jQuery-在除指定选择器之外的任何地方单击上的fadeOut div?

来自分类Dev

CSS没有选择器缺少主要元素之外的项目

来自分类Dev

使用CSS选择器仅选择无序列表的父元素减去子列表?

来自分类Dev

使用jQuery和CSS选择器选择嵌套元素的公共父/祖先

来自分类Dev

使用CSS选择器仅选择无序列表的父元素减去子列表?

来自分类Dev

如何使用CSS 2.0选择器通过在父元素上设置的属性来选择元素?

来自分类Dev

CSS选择器,用于选择父级层次结构中的子级

来自分类Dev

Sass父选择器并悬停?

来自分类Dev

jQuery在父选择器上的重用

来自分类Dev

较少的直接父选择器

来自分类Dev

在SCSS中前置父选择器

来自分类Dev

SCSS:父悬停选择器

来自分类Dev

在SCSS中前置父选择器

Related 相关文章

热门标签

归档