Html 使键盘选项卡动作充当鼠标悬停

Html 使键盘选项卡动作充当鼠标悬停,html,css,tabs,hover,tabindex,Html,Css,Tabs,Hover,Tabindex,我使用的是一个稍微修改过的版本:谢谢你,迈克尔·费里 HTML: CSS: 我无法让它在使用键盘时显示幻灯片 我尝试添加.active、:focus、role=button、aria expanded=true和tab index,但都没有效果 在我秃顶之前,有人有办法吗?不使用javascript 非常感谢 如果在li-like上使用tabindex=1,您应该能够使用:focus as作为目标 现在发生的情况是,当您按tab键时,它会选择a元素,但转换将应用于li 如果我从Michael F

我使用的是一个稍微修改过的版本:谢谢你,迈克尔·费里

HTML:

CSS:

我无法让它在使用键盘时显示幻灯片

我尝试添加.active、:focus、role=button、aria expanded=true和tab index,但都没有效果

在我秃顶之前,有人有办法吗?不使用javascript

非常感谢

如果在li-like上使用tabindex=1,您应该能够使用:focus as作为目标

现在发生的情况是,当您按tab键时,它会选择a元素,但转换将应用于li

如果我从Michael Ferry的密码笔中提取代码,您将有以下几行代码

HTML:

在SCSS代码中,我将li:focus~li添加到目标li的兄弟姐妹中,并将li:focus添加到现有代码中以再现动画


我还建议您禁用tabindex=0的元素选项卡,以避免用户在通过滑块进行选项卡切换后再次向上滚动。

尝试过了。它不起作用。也许我只是把错误的代码放在了写着//你的东西的地方。你能帮我拼一下吗?谢谢:我更新了帖子,把我的实际CSSIt收录进去了!现在,我只需要弄清楚如何显示文本以及查看我的更新代码-它显示在图片top-435和440下面-我有一种感觉,如果我只是更改代码以关注这一点,它应该是好的。非常感谢你,劳拉嗨,劳拉,就我个人而言,我无法在我制表时显示H2和p。我知道你可能已经做得够多了,但是如果你有时间的话,请你看一下,让我知道如何把它展示出来好吗?这行:。手风琴ul li div a h2和。手风琴ul li div a p。非常感谢。你好,Richard,我在这里叉了Michael Ferry的密码笔。h2和p显示良好。SCSS文件更容易阅读,但如果你还有问题,请告诉我。哦,你真是个天使。非常感谢。问题是,我使用的代码在图像下面显示了H2和p,使用了top-425px,如上图所示。所以,当鼠标悬停时……没问题。但当I选项卡时,它不会显示:
    <div class="accordion">
  <ul>
    <li tabindex="0">
      <div>
        <a href="#">
          <h2>Lorem Ipsum 1</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="0">
      <div>
        <a href="#">
          <h2>Lorem Ipsum 2</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="0">
      <div>
        <a href="#">
          <h2>Lorem Ipsum 3</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="0">
      <div>
        <a href="#">
          <h2>Lorem Ipsum 4</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="0">
      <div>
        <a href="#">
          <h2>Lorem Ipsum 5</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="0">
      <div>
        <a href="#">
          <h2>Lorem Ipsum 6</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
  </ul>
</div>
    <style>
.accordion {
  width: 100%;
  max-width: 1140px;
  height: 560px;
  overflow: hidden;
  margin: 20px auto;
}
.accordion ul {
  width: 100%;
  display: table;
  table-layout: fixed;
  margin: 0;
  padding: 0;
}
.accordion ul li {
list-style-type: none;
  display: table-cell;
  top:0px;
  vertical-align: top;
  position: relative;
  width: 16.666%;
  height: 520px;
  background-repeat: no-repeat;
  background-position: top center;
  transition: all 500ms ease;
}
.accordion ul li div {
  display: block;
  overflow: hidden;
  width: 100%;
}
.accordion ul li div a {
  display: block;
  height: 520px;
  width: 100%;
  position: relative;
  z-index: 3;
  vertical-align: bottom;
  padding: 0px;
  box-sizing: border-box;
  color: #fff;
  text-decoration: none;
  transition: all 200ms ease;
}
.accordion ul li div a * {
  opacity: 0;
  margin: 0;
  width: 100%;
  text-overflow: ellipsis;
  position: relative;
  z-index: 5;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transform: translateX(-20px);
  transform: translateX(-20px);
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
.accordion ul li div a h2 {
  text-overflow: clip;
  font-size: 24px;
  /*text-transform: uppercase;*/
  margin-bottom: 0px;
  top: 435px;
  color:#000;
}
.accordion ul li div a p {
  top: 440px;
  font-size: 13.5px;
  color:#000;
}
.accordion ul li:nth-child(1) {
  background-image: url("1b.jpg");max-height:400px;
}
.accordion ul li:nth-child(2) {
  background-image: url("2b.jpg");max-height:400px;
}
.accordion ul li:nth-child(3) {
  background-image: url("3b.jpg");max-height:400px;
}
.accordion ul li:nth-child(4) {
  background-image: url("4b.jpg");max-height:400px;
}
.accordion ul li:nth-child(5) {
  background-image: url("5b.jpg");max-height:400px;
}
.accordion ul li:nth-child(6) {
  background-image: url("6b.jpg");max-height:400px;
}
.accordion ul:hover li {
  width: 16%;
}
.accordion ul:hover li:hover {
  width: 100%;
}
.accordion ul:hover li:hover a {

}
.accordion ul:hover li:hover a * {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}


@media screen and (max-width: 600px) {
  body {
    margin: 0;
  }

  .accordion {
    height: auto;
  }
  .accordion ul li, .accordion ul li:hover, .accordion ul:hover li, .accordion ul:hover li:hover {
    position: relative;
    display: table;
    table-layout: fixed;
    width: 100%;
    -webkit-transition: none;
    transition: none;
  }
}
</style>
li {
  &:focus {
    // your stuff here
  }
}
    <h1>Responsive Accordion</h1>
<div class="accordion">
  <ul>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
  </ul>
</div>
<p class="about">
  By <a href="http://michaelferry.com/">Michael Ferry</a>
</p>

        <h1>Responsive Accordion</h1>
<div class="accordion">
  <ul>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
    <li tabindex="1">
      <div>
        <a href="#">
          <h2>Lorem Ipsum</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
        </a>
      </div>
    </li>
  </ul>
</div>
<p class="about">
  By <a href="http://michaelferry.com/">Michael Ferry</a>
</p>
@import url(https://fonts.googleapis.com/css?family=Open+Sans);
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);

// Accordion Height
$a-height: 250px;

// Position text along bottom
$text-offset: $a-height - 90;

// Page Title
h1 {
  text-align: center;
  font-family: Montserrat, sans-serif;
  color: #333;
}

.accordion {
  width: 100%;
  max-width: 1080px;
  height: $a-height;
  overflow: hidden;
  margin: 50px auto;

  ul {
    width: 100%;
    display: table;
    table-layout: fixed;
    margin: 0;
    padding: 0;

    li {
      display: table-cell;
      vertical-align: bottom;
      position: relative;
      width: 16.666%; // 6 into 100
      height: $a-height;

      background-repeat: no-repeat;
      background-position: center center;

      transition: all 500ms ease;

      div {
        display: block;
        overflow: hidden;
        width: 100%;

        a {  
          display: block;
          height: $a-height;
          width: 100%;

          position: relative;
          z-index: 3;
          vertical-align: bottom;
          padding: 15px 20px;
          box-sizing: border-box;
          color: #fff;
          text-decoration: none;
          font-family: Open Sans, sans-serif;

          transition: all 200ms ease;

          * {
            opacity: 0;
            margin: 0;
            width: 100%;
            text-overflow: ellipsis;
            position: relative;
            z-index: 5;

            white-space: nowrap;
            overflow: hidden;

            -webkit-transform: translateX(-20px);
            transform: translateX(-20px);

            -webkit-transition: all 400ms ease;
            transition: all 400ms ease;
          }

          h2 {
            font-family: Montserrat, sans-serif;
            text-overflow: clip;
            font-size: 24px;
            text-transform: uppercase;
            margin-bottom: 2px;

            top: $text-offset;
          }

          p {
            top: $text-offset;
            font-size: 13.5px;
          }
        }
      }
    }

    // Background images
    li:nth-child(1) {
      background-image: url("http://michael-ferry.com/assets/accordion1.jpg");
    }
    li:nth-child(2) {
      background-image: url("http://michael-ferry.com/assets/accordion2.jpg");
    }
    li:nth-child(3) {
      background-image: url("http://michael-ferry.com/assets/accordion3.jpg");
    }
    li:nth-child(4) {
      background-image: url("http://michael-ferry.com/assets/accordion4.jpg");
    }
    li:nth-child(5) {
      background-image: url("http://michael-ferry.com/assets/accordion5.jpg");
    }
    li:nth-child(6) {
      background-image: url("http://michael-ferry.com/assets/accordion6.jpg");
    }

    &:hover li,
    li:focus ~ li{
      width: 8%;
    }

    &:hover li:hover,
    li:focus {
      width: 60%;

      a {
        background: rgba(0, 0, 0, 0.4);

        * {
          opacity: 1;
          -webkit-transform: translateX(0);
          transform: translateX(0);
        }
      }
    }
  }
}

// Stack items
@media screen and (max-width: 600px) {
  // IE gets fussy if this isn't here
  body {
    margin: 0;
  }

  .accordion {
    height: auto;

    ul,
    ul:hover {
      li,
      li:hover {
        position: relative;
        display: table;
        table-layout: fixed;
        width: 100%;

        -webkit-transition: none;
        transition: none;
      }
    }
  }
}

.about {
  text-align: center;
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  color: #666;

  a {
    color: blue;
    text-decoration: none;

    &:hover {
      text-decoration: underline;
    }
  }
}