前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Label和input实现纯CSS切换

Label和input实现纯CSS切换

作者头像
wade
发布2020-04-24 17:16:26
1.1K0
发布2020-04-24 17:16:26
举报
文章被收录于专栏:coding个人笔记coding个人笔记

Label和input直接有一个关联,那就是聚焦选中的关系。

代码语言:javascript
复制
<label for="tab1">1</label>
<label for="tab2">2</label>
<label for="tab3">3</label>
<input type="text" id="tab1">
<input type="text" id="tab2">
<input type="text" id="tab3">

打开之后点击label,你会发现焦点会聚焦到for对应的id上面,正因为这个关系,我们可以纯CSS实现tab切换。

先说一下思路,因为点击label的时候会自动聚焦到for对应的id,那么我们把这个input定位到一个框里面,高百分百占满这个框,然后绝对定位设置z-index为负的。点击label的时候,相当于scroll到当前聚焦的input。

标签:

代码语言:javascript
复制
<div>
  <div style="text-align: center">
    <label for="tab1">tab1</label>
    <label for="tab2">tab2</label>
    <label for="tab3">tab3</label>
    <label for="tab4">tab4</label>
  </div>
<div>
    <div style="background: red">
      <input type="text" id="tab1">
      <p>tab1</p>
    </div>
    <div style="background: blue">
      <input type="text" id="tab2">
      <p>tab2</p>
    </div>
    <div style="background: green">
      <input type="text" id="tab3">
      <p>tab3</p>
    </div>
    <div style="background: yellow">
      <input type="text" id="tab4">
      <p>tab4</p>
    </div>
  </div>
</div>
CSS:
.content{
  width: 800px;
  height: 500px;
  margin: 30px auto;
  border: solid 1px red;
}
label{
  display: inline-block;
  width: 80px;
  border: solid red 1px;
  ine-height: 40px;
  text-align: center;
}
.tab-content{
  width: 300px;
  height: 300px;
  overflow: hidden;
  border: solid blue 1px;
  margin: 20px auto;
  scroll-behavior: smooth;
}
.tab-content .item{
  position: relative;
  width: 300px;
  height: 300px;
}
.tab-content input{
  position: absolute;
  top: 0;
  height: 100%;
  z-index: -1;
}

这样就能实现CSS切换tab,不需要任何js。

有一点缺陷就是没有滑动的效果,我这边用了scroll-behavior: smooth;这个属性,能够使scroll平滑的滑动,不过这个属性暂时兼容性还不够好。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档