Get CSS3选择器

1.:nth-of-type(-n+b)

实现效果:选择器匹配属于父元素的特定类型的前b个子元素的每个元素。

2.input[type='text']:focus

实现效果:光标触发文本框时设置样式。

3.*:target *

定义:URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。
:target 选择器可用于选取当前活动的目标元素

4.css中的'~'

例:#slide_1:target ~ .slide
为所有相同的父元素中位于#slide_1:target元素之后的所有.slide元素设置样式

实例练习

实现效果

注:重点利用css3 :target选择器和“~”的使用实现简单的轮播效果,注意代码中的布局以及position和点击按钮左侧的距离的变化。

整体代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
    <title>css案例实操</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
            font-size: 12px;
        }
        body{
            max-width:680px;
            margin: 0 auto;
        }
        .rank{
            width: 100%;
            height: auto;
            min-height:10rem;
            overflow: auto; 
        }
        .rank li{
            width: 100%;
            height: 3rem;
            display: flex;
            justify-content: space-between;
        }
        .rank li:first-child{
            height: 3rem;
        }
        .rank li:nth-child(odd){
            background-color: #aaa;
        }
        .rank li:nth-of-type(-n+4){
            color:#f00;
        }
        .rank li:first-child span{
            height: 3rem;
            line-height: 3rem;
            font-size: 24px;
            color: #fff;
            background-color: #000;
        }
        .rank li span{
            width: 59%;
            height: 3rem;
            line-height: 3rem;
            font-size: 18px;
            text-align: center;
        }
        .rank li span:first-child,.rank li span:last-child{
            width: 20%;
            height: 3rem;
            line-height: 3rem;
            font-size: 18px;
            text-align: center;
        }
        input[type='text']{
            margin: 1.5rem auto;
            height: 2.3rem;
            display: block;
            border: thin solid #999;
            border-radius: 5px;
        }
        input[type='text']:focus{
            width: 90%;
            height: 2.3rem;
            margin: 1.5rem auto;
            box-shadow: 0 0 2px 2px #3E82F7;
            outline: 0;
        }
        .container{
            width: 100%;
            height:200px;
            overflow: hidden;
            position: relative;
        }
        .slide{
            width: 300%;
            height: 200px;
            position: absolute;
            top: 0;
            left: 0;
        }
        .slide li{
            width:33.333%;
            height: 200px;
            list-style: none;
            line-height: 200px;
            color: #fff;
            text-align: center;
            font-size: 24px;
            float: left;
        }
        .slide li:first-child{
            background-color: yellow;
        }
        .slide li:last-child{
            background-color: red;
        }
        .slide li:nth-child(2){
            background-color: green;
        }
        .numer{
            position:absolute;
            bottom: 1rem;
            right: 1rem;
            width: 100px;
            height: 2rem;
            display: flex;
            justify-content: space-between;
        }
        .numer a{
            width: 32.8%;
            height: 2rem;
            line-height: 2rem;
            text-align: center;
            background:rgba(255,255,255,0.9);
            text-decoration: none;
        }
//以下left值设置的都是.slide这整个块相对于左侧的距离。
        #slide_1:target ~ .slide{
            transition: left 1s;
            left: 0;
        }
        #slide_2:target ~ .slide{
            transition: left 1s;
            left:-100%;
        }
        #slide_3:target ~ .slide{
            transition: left 1s;
            left:-200%;
        }
    </style>
</head>
<body>
    <ul class="rank">
        <li>
            <span>排名</span>
            <span>网站</span>
            <span>热度</span>
        </li>
        <li>
            <span>1</span>
            <span>百度前端技术学院</span>
            <span>12000</span>
        </li>
        <li>
            <span>2</span>
            <span>百度前端技术学院</span>
            <span>11000</span>
        </li>
        <li>
            <span>3</span>
            <span>百度前端技术学院</span>
            <span>10000</span>
        </li>
        <li>
            <span>4</span>
            <span>百度前端技术学院</span>
            <span>9000</span>
        </li>
        <li>
            <span>5</span>
            <span>百度前端技术学院</span>
            <span>8000</span>
        </li>
        <li>
            <span>6</span>
            <span>百度前端技术学院</span>
            <span>7000</span>
        </li>
        <li>
            <span>7</span>
            <span>百度前端技术学院</span>
            <span>6000</span>
        </li>
        <li>
            <span>6</span>
            <span>百度前端技术学院</span>
            <span>5000</span>
        </li>
        <li>
            <span>4</span>
            <span>百度前端技术学院</span>
            <span>4000</span>
        </li>
        <li>
            <span>3</span>
            <span>百度前端技术学院</span>
            <span>3000</span>
        </li>
    </ul>
    <input type="text" name="">
    <div class="container">
        <span id="slide_1"></span>
        <span id="slide_2"></span>
        <span id="slide_3"></span>
        <ul class="slide">
            <li>1</li>
            <li>2</li>
            <li>3</li>
        </ul>
        <div class="numer">
            <a href="#slide_1">1</a>
            <a href="#slide_2">2</a>
            <a href="#slide_3">3</a>
        </div>
    </div>
</body>
</html>

参考文献

css中“~”和“>”是什么意思?
CSS3 :target 选择器

写给自己

与其说自己是沉默寡言不如说是懒惰,懒得交际,懒得总结,认识春哥之前从未写过总结这些东西,学过的东西大多也随之淡忘,现在春哥走了之后也一直在坚持总结,之所以坚持是因为这个习惯真的很好,其实写这一篇之前还在纠结写还是不写,虽然辞藻各方面可能还不够精炼,但是本着日后自己回过头还能够看懂这些,写的也是通俗易懂了。
这里想起一个自己切身的故事,关于好的事情就该坚持,勉强自己也该坚持,我自小不爱吃姜,小时候见父亲稍稍感到感冒征兆喝姜汤一碗干完时,觉得不可思议,那么难吃的东西竟然也能下咽,这一想法一直延续到高中,‘王萍’这一伟人改变了我的想法,一次吃午饭,她吃掉盘子所有配菜——“姜”,我问她:“你喜欢吃姜呀”,她说:“不爱吃,但是它对身体好啊”,听了这句话我一激灵,然后一直铭记着。
对于好的事情该不该勉强自己去做,我时常会纠结一二,这里谨此表达自己拙见。
希望努力着的我们,无论身处何种环境都不被其影响,“时光荏苒,初心不变。”

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

相关阅读更多精彩内容

  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 5,019评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,693评论 1 92
  • 其实平时用得多的选择器无非也就是那么几个,时间久了,许多不常用的选择器就慢慢忘记了。为了不让自己忘记这些选择器,今...
    盛夏晚清风阅读 5,837评论 0 5
  • (1). 阴影模糊半径与阴影扩展半径的区别:阴影模糊半径:此参数可选,其值只能是为正值,如果其值为0时,表示阴影不...
    Leisure_blogs阅读 5,426评论 0 6
  • 她很霸道,她的每一项指示,他必须在最短的时间内完成,不能有丝毫犹豫。 她很骄傲,她告诉他,她最重要,他得保护她,即...
    艾迪蓝波阅读 5,489评论 2 57

友情链接更多精彩内容