博客列表 >css基础与选择器 - php培训第九期线上班

css基础与选择器 - php培训第九期线上班

0reZys
0reZys原创
2019年10月31日 17:35:11362浏览

元素按显示方式分为哪几种, 并举例, 正确描述它们

  • 块级框对应的是块级元素, 行内框对应的是行内元素

  • 一切元素都是框

  • 任何元素都会在页面上占据一定的空间, 页面是以框的形式来显示它们

  • 行内框的宽高, 由它内部的内容决定

  • 块级框的宽高, 是由它内部的子元素决定

  • 一般来说, 块级框内,可以嵌套行内框, 反过来就不允许(可用display改变)

CSS是什么? 它的主要作用是什么?

  • CSS: 层叠样式表(Cascading Style Sheets)

  • CSS是用来设置页面中的元素样式和布局的

什么是CSS选择器,它的样式声明是哪二部分组成?

  • 要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。

  • 它的样式声明是由选择器和样式规则组成的。

举例演示CSS简单选择器(全部)

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>简单选择器以及优先级</title>
    <style>
        /*元素选择器*/
        p {
            color: green;
        }

        /**
        属性选择器
        属性由属性名和值二部分组成,对应的语法也有二种
        */

        p[class] {
            color: lightgray;
        }

        p[class="red"] {
            color: red;
        }

        p[id="blue"] {
            color: blue;
        }

        /*几乎所有的元素都可以添加class和id属性,所以css针对这二个属性创建了二个快捷方式*/

         /*类选择器, 对应标签中的class属性
         第二,三行文本前景色更新为红色, 表示类选择器优先级高于元素选择器
        */
        .red {
            background-color: yellow;
        }


        /*
        ID选择器, 对应标签中的id属性
        第三行文本前景色更新为蓝色, 表示ID选择器优先器高于类选择器
        */
        #blue {
            background-color: lightgray;
        }

        /*
        群级选择器:
        多个选择器之间用逗号分隔, 用于将样式应用到一组元素上
        将有class="red"的元素和<h2>元素选中,并将背景色设置为黄色
        第三行.red背景未改变,是因为它还有一个id属性, 而该属性优先级高于类属性
        */
        .red, h2 {
            background-color: lightcyan;
        }

        /*通配符选择器*/
        /*将body中所有元素内的文本字体放大一倍, rem是指相对于html根元素的字体大小*/
        body * {
            font-size: 2rem;
        }

    </style>
</head>
<body>
<p>腾讯将成NBA新赛季全国独播平台,已推出宣传片!</p>
<p class="red">定了!12月1日商合杭高铁北段正式开通</p>
<p class="red" id="blue">马英九为救韩国瑜放大招!直击蔡当局要害气氛瞬间火爆</p>
<p>62岁葛优坐出租车:现在年轻人,都不认识我了</p>

<h2>今晚加班,公司管饭管打车</h2>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

举例演示CSS上下文选择器(全部)

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上下文选择器</title>
    <style>
        /*后代选择器*/
        section h2 {
            color: green;
        }

        /*父子选择器*/
        /*div中的三个h2标签并非是section的直接子元素,所以未匹配*/
        section > h2 {
            color: red;
        }

        /*同级相邻选择器*/
        #item + * {
            background-color: lightblue;
        }

        /*同级所有选择器*/
        /*只会选择中与#item同级的, 不会选中div外部元素*/
        #item ~ * {
            background-color: lightpink;
        }
    </style>
</head>
<body>
<section>
    <div>
        <h2 id="item">PHP中文网</h2>
        <h2>phpStudy V8</h2>
        <h2>小皮控制面板</h2>
    </div>
    <h2>HTML中文网</h2>
    <h2>Python中文网</h2>
</section>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

举例演示常用CSS结构伪类选择器(不少于四种)

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>结构伪类选择器</title>
    <style>
        /*非限定类型*/

        /*选中页面所有的ul下面的子第二个子元素*/
        ul > :nth-child(2) {
            background-color: lightblue;
        }

        /*如果只想选中第一个ul中的第二个子元素*/
        /*会匹配到工作计划*/
        ul:first-child > :nth-child(2) {
            background-color: lightgreen;
        }

        /*选中最后一个: 重要通知*/
        ul:first-child > :last-child {
            background-color: lightpink;
        }

        /*选中最后一个子元素中,类型为<p>的元素*/
        /*参数是表达式时, n从0开始, n+1, 表示的索引是: 1,2,3,4...*/
        ul:first-child > :last-child > p:nth-child(n+1) {
            background-color: yellow;
        }

        /*选中最后一个子元素中,类型为<li>的后代元素*/
        /*开发部, 市场部, 销售部会更新背景色*/
        ul:first-child > :last-child li:nth-child(n+1) {
            background-color: lightgray;
        }

        /*************************************************/

        /*使用限定类型伪类来改写上面案例*/
        /*仅以改写最后二个为例, 其它的改写方式相同*/

        /*选中最后一个子元素中,类型为<p>的元素*/
        ul:first-of-type > :last-of-type > p:nth-of-type(n+1) {
            background-color: cyan;
        }

        /*选中最后一个子元素中,类型为<li>的后代元素*/
        /*开发部, 市场部, 销售部会更新背景色*/
        ul:first-child > :last-child li:nth-child(n+1) {
            background-color: lightsalmon;
        }
    </style>
</head>
<body>
<ul>
    <li>
        <h3>购物车</h3>
        <ul>
            <li>MacBook Pro 笔记本一台</li>
            <li>iPhone X Max 手机一部</li>
            <li>SONY A7M3 相机一部</li>
        </ul>
    </li>
    <li>
        <h3>工作计划</h3>
        <ul>
            <li>准备录制前端开发实战课程</li>
            <li>Laravel项目开发全程实录</li>
            <li>编写前端开发实例大全电子书</li>
        </ul>
    </li>
    <li>
        <h2>重要通知</h2>
        <p>今天开始,为了赶项目,全公司开始进入加班模式,具体安排如下:</p>
        <ul>
            <li>开发部: 19:00 - 24:00</li>
            <li>市场部: 19:00 - 23:00</li>
            <li>销售部: 19:00 - 22:00</li>
        </ul>
        <p>凡加班人员, 提供免费晚餐, 滴滴补助, 不愿回家,可报住宿费200/人</p>
    </li>
</ul>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

举例演示常用CSS表单伪类选择器(不少于三种)

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单伪类选择器</title>
    <style>
        /*表单伪类选择器*/

        /*选择所有有效的input表单元素*/
        /*下拉列表虽有效,但不是input,所以未选中*/
        /*警告信息是禁用项, 所以未选中*/
        /*保存密码项实际上选中的, 通过检查元素可以查询*/
        input:enabled {
            background-color: blanchedalmond;
        }

        /*选择禁用元素*/
        input:disabled {
            background-color: blueviolet;
        }

        /*选择所有必选项*/
        input:required {
            background-color: yellow;
        }
    </style>
</head>
<body>
<h2>用户登录</h2>
<form action="" method="post">
    <p>
        <label for="email">邮箱:</label>
        <input type="email" id="email" name="email" required placeholder="example@email.com">
    </p>

    <p>
        <label for="password">密码:</label>
        <input type="password" id="password" name="password" required placeholder="不得少于6位">
    </p>

    <p>
        <label for="save" >保存密码:</label>
        <input type="checkbox" id="save" name="save" checked readonly>
    </p>

    <p>
        <label for="save_time">保存期限:</label>
        <select name="save_time" id="save_time">
            <option value="7" selected>7天</option>
            <option value="30">30天</option>
        </select>
    </p>

    <p>
        <input type="hidden" name="login_time" value="登陆时间戳">
    </p>

    <p>
        <label for="warning">警告:</label>
        <input type="text" id="warning" value="一天内仅允许登录三次" style="border:none" disabled>
    </p>


    <script>
        document.querySelector('[type="hidden"]').value = new Date().getTime()
    </script>
</form>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:通过学习css知道了如何装饰页面并通过css选择器控制页面当中的元素,属性,以及通过多种方式操作标签设置样式。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议