首页 > 其他分享 >【CSS】伪类选择器和伪元素选择器

【CSS】伪类选择器和伪元素选择器

时间:2023-09-05 20:46:06浏览次数:49  
标签:伪类 color 元素 child 选择器 CSS first

伪类选择器用于指定所选元素的特殊状态,参考 https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-classes

伪元素选择器允许你对被选择元素的特定部分修改样式,不会真的修改dom结构,参考 https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements

<html>
    <head>
        <title>CSS 伪类选择器</title>
    </head>

    <body>
        <div id="hover">1. :hover 选择鼠标悬停在元素上的状态</div>
        <button>2. :active 选择元素在被电击时的状态</button>
        <div>
            <div>3. :focus 选择当前拥有焦点的元素,通常是表单元素</div>
            <input />
        </div>
        <div>
            <div>:th-child(n) 选择在其父元素中第 n 个字元素的元素</div>
            <ul>
                <li>
                    <div>1</div>
                </li>
                <li>
                    <div>2</div>
                </li>
                <li>
                    <div>3</div>
                </li>
                <li>
                    <div>4</div>
                </li>
                <li>
                    <div>5</div>
                </li>
                
            </ul>
        </div>
        <div>
            <div>:first-child, :last-child 选择父元素的第一个和最后一个子元素</div>
            <ul>
                <li>
                    <div>1</div>
                </li>
                <li>
                    <div>2</div>
                </li>
                <li>
                    <div>3</div>
                </li>
        </div>
        <div>
            <div>:not(selector) 选择不匹配指定选择器的元素</div>
            <p class="text">第一段文本</p>
            <p class="special">第二段文本</p>
            <p class="text">第三段文本</p>
        </div>
        <div>
            <div> :nth-of-type(n) 选择在其父元素中是第 n 个特定类型的子元素的元素</div>
            <strong>
                <ul>
                    <li>
                        <p>1</p>
                    </li>
                    <li>
                        <p>2</p>
                    </li>
                    <li>
                        <p>3</p>
                    </li>
                    <li>
                        <p>4</p>
                    </li>
                    <li>
                        <p>5</p>
                    </li>
                    <li>
                        <p>6</p>
                    </li>
                    <li>
                        <p>7</p>
                    </li>
                    <li>
                        <p>8</p>
                    </li>
                    <li>
                        <p>9</p>
                    </li>
                </ul>
            </strong>
        </div>
    </body>

    <style>
        /* 1. :hover 伪类选择器 */
        #hover {
            /* set text color black */
            color: black;
        }
        #hover:hover {
            color: red;
            /*  set mouse cursor status */
            cursor: pointer;
        }
        /* 2. :active 伪类选择器 */
        button {
            background-color: green;
        }
        button:active {
            background-color: red;
        }
        /* 3. :focus 伪类选择器 */
        input:focus {
            border: 2px solid blue;
        }
        /* 4. :nth-child(n) 伪类选择器 */
        ul li:nth-child(4) {
            background-color: red;
        }
        /* 5. :first-child, :last-child 伪类选择器 */
        ul li:first-child {
            font-weight: bold;
        }
        ul li:last-child {
            font-weight: bold;
        }
        /* 6. :not(selector) 伪类选择器 */
        p:not(.special) {
            color: red;
        }
        /* 7. :nth-of-type(n) 伪类选择器 */
        strong ul li:nth-of-type(even) {
            background-color: #ccc;
        }
    </style>
</html>

 

 

<html>
    <head>
        <title>CSS 伪元素选择器</title>
    </head>
    <body>
        <div>
            <div>1. ::before</div>
            <p id="todo">todo</p>
        </div>
        <div>
            <div>2. ::after</div>
            <p id="quote">Practice makes perfact</p>
        </div>
        <div>
            <div>3. ::first-line </div>
            <div style="display: flex; width: 500px;">
                <p id="first-line">
                    <!-- write some words random-->
                    但听得蹄声如雷,十余乘马疾风般卷上山来。马上乘客一色都是玄色薄毡大氅,
                    里面玄色布衣,但见人似虎,马如龙,人既矫捷,马亦雄骏,每一匹马都是高头
                    长腿,通体黑毛,奔到近处,群雄眼前一亮,金光闪闪,却见每匹马的蹄铁竟然
                    是黄金打就。来者一共是一十九骑,人数虽不甚多,气势之壮,却似有如千军万
                    马一般,前面一十八骑奔到近处,拉马向两旁一分,最后一骑从中驰出
                </p>
            </div>
        </div>
        <div>
            <div>4. ::first-word</div>
            <div style="display: flex; width: 500px;">
                <h1>Hello World</h1>
            </div>
        </div>
        <div>
            <div>5. ::selection</div>
        <div>
            <p id="selection">
                <!-- write some words random-->
                但听得蹄声如雷,十余乘马疾风般卷上山来。马上乘客一色都是玄色薄毡大氅,
                里面玄色布衣,但见人似虎,马如龙,人既矫捷,马亦雄骏,每一匹马都是高头
                长腿,通体黑毛,奔到近处,群雄眼前一亮,金光闪闪,却见每匹马的蹄铁竟然
                是黄金打就。来者一共是一十九骑,人数虽不甚多,气势之壮,却似有如千军万
                马一般,前面一十八骑奔到近处,拉马向两旁一分,最后一骑从中驰出
            </p>
        </div>
        </div>
    </body>
    <style>
        #todo::before {
            content: "\2713"
        }
        #quote::after {
            content: " - Anonymous"
        }
        #first-line::first-line {
            color: red;
            font-size: 20px;
        }
        /* #first-word::first-letter { */
        h1::first-letter { font-size: 2em; }
        /* } */
        #selection::selection {
            background-color: yellow; 
            color: black;
        }
    </style>
</html>

- https://github.com/zjy4fun/notes/tree/main/demos/CSS%E4%BC%AA%E5%85%83%E7%B4%A0%E9%80%89%E6%8B%A9%E5%99%A8

- https://github.com/zjy4fun/notes/tree/main/demos/CSS%E4%BC%AA%E7%B1%BB%E9%80%89%E6%8B%A9%E5%99%A8

标签:伪类,color,元素,child,选择器,CSS,first
From: https://www.cnblogs.com/zjy4fun/p/17680733.html

相关文章

  • 如何在Nuxt 3中为<html>和<body>标签添加Tailwind CSS类?
    在Nuxt3中为<html>和<body>标签添加TailwindCSS类,可以参考以下步骤:安装TailwindCSS:在项目根目录下运行以下命令安装TailwindCSS和其依赖:npminstalltailwindcss@latest@tailwindcss/typography@latestpostcss@latestautoprefixer@latest创建TailwindCSS配置......
  • 记录--CSS 滚动驱动动画 scroll()
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助CSS滚动驱动动画scroll()animation-timeline通过scroll()指定可滚动元素与滚动轴来为容器动画提供一个匿名的scrollprogresstimeline.通过元素在顶部和底部(或左边和右边)的滚动推进scrollprogresst......
  • 【css兼容】flex在低版本 chrome 浏览器的兼容问题
    https://blog.csdn.net/weixin_43841308/article/details/111246537 前言【感官】使用ElementUI构建如下布局【逻辑】具体代码:【现象】谷歌浏览器44.0.2403.125m版本显示main内容不全谷歌浏览器57.0.2987.133版本页面正常flex兼容性【猜想】display:flex在网站兼容性......
  • css设置滚动条样式
    首先给父盒子设置overflow:hidden;overflow-y:scroll;overflow-x:scroll;这样子盒子超出父级的高度和宽度时就会出现滚动条接着调整滚动条样式/*里面的代码可以根据自己需求去进行更改*//*设置滚动条的样式*/::-webkit-scrollbar{width:12px;}/*滚动槽*/......
  • jQuery 层次选择器
    jQuery层次选择器(0)测试前的准备工作A.定义测试对象B.定义测试对象的CSS样式C.再定义一些测试用的button。(1)所有后代选择器(AB)所有后代,包括其直接后代及间接后代。(2)直接后代选择器(A>B)直接后代,不包含其孙子后代等。(3)下一个兄弟选择器(A+B)只包含指定对象的下一个兄弟,而不......
  • [译]这几个CSS小技巧,你知道吗?
    前言在网页设计和前端开发中,CSS属性是非常重要的一部分。掌握常用的CSS属性不仅可以使你的网页看起来更美观,还能提升用户体验,今天小编为大家介绍8个常见的CSS小技巧:1.修改滚动条样式下图是我们常见的滚动条,现在需要改变滚动条的宽度和颜色了,并把它画的圆一点。(常见的滚动条)......
  • CSS如何让鼠标放上时的小手样式
     cursor:pointer;参考:https://www.muzhuangnet.com/show/56515.html......
  • css学习
    字体:1、样式继承:例如font-size2、字体风格:font-style是否倾斜3、字体粗细:font-weight4、字之间的间隔:letter-spacing5、首行缩进:text-indent6、水平居中:text-align7、行高:line-heigh8、vertical-align:操作行内元素 ......
  • html+css应用一
    css:层叠级联样式表CSS的三种引入方式1.行内样式:写在标记里面的,只对当前的文件起作用,复用性小。2.内部样式:写在文件内部的,只对当前文件的文件中指定的标记有作用,复用性大于行内样式。3.外部样式:把样式单独抽离出来到一个css文件中,并引入。复用性大于内部样式。例:html文件:<!DOCTYPE......
  • css: SVG and CSS
    https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/SVG_and_CSS两种方式的CSS  SVGCSS:/***SVGdemonstration***//*page*/svg{background-color:beige;}#heading{font-size:24px;font-weight:bold;}#caption{font-size:12px;}......