Blogger Information
Blog 38
fans 0
comment 0
visits 23436
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
表单与CSS选择器--2018-8-16
晓明的博客
Original
588 people have browsed it

一 上课笔记重点

    1).表单的基本元素

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>3-1表单的基本元素</title>
</head>
<body>
<!-- 1.我们先看一下表单是什么?几乎每个网站都会有
2.表单给人最直接的印象就是有一些输入框,还有一些按钮
3.这些输入框,可以接受用户输入的数据,按钮可以将用户的数据进行提交
4.表单元素是由一组标签组成的 -->

<!-- 提交方式有很多,最主要的有二种:
1.get方式:这也是默认的方式,用户提交的表单数据全部在url地址上
优点是便于收藏和重复调用,缺点是不安全并且数据数量受限制
2.post方式:数据通过请求头来提交,url地址栏看不到,非常安全,且长度不受限制

get方式非常适合传递不敏感且长度很短的数据
post方式非常适合传递重要数据且长度不确定的数据 -->

<form action="demo.php" method="get">
    <!-- <form action="demo.php" method="post"> -->
    <!-- 最重要的输入控件标签是<input>,它有很多类型,是由type属性来指定的 -->
    <!-- 1.文本框: 最常见,可以输入文本,常用来输入用户名帐号等 -->
    <!-- 因为input是一个内联元素,多个input会在一行显示,所以后面加一个换行标签 -->
    <!-- name是输入控件的名称,一定要设置,因为PHP要用它当变量名来获取表单的数据
    value保存的是用户输入的数据,通常保持为空即可 -->
    姓名:<input type="text" name="name" value=""> <br>
    <!-- 2.密码框: type="password",和文本是一样的,只是用户输入的内容以星号代替 -->
    密码:<input type="password" name="password" value=""> <br>
    <!-- 3.单选框:顾名思义就是每次只能选择一项,例如性别,付 款方式等只能选择一个且选项较少的情况 -->
    <!-- 单选按钮的name值必须全部一样,才能确保仅返回一个选择 -->
    <!-- 可以设置默认选择荐:checked:它是布尔属性,不需要赋值,如果要给值就是它自己 -->
    性别:<input type="radio" name="sex" value="male">男
    <input type="radio" name="sex" value="woman">女
    <input type="radio" name="sex" value="secret" checked>保密
    <br>
    <!-- 4.复选框:就是一次可以选择多个数据提交,返回值是一个数组,name属性要加[],确保返回数组 -->
    爱好:<input type="checkbox" name="hobby[]" value="movie">看电影
    <input type="checkbox" name="hobby[]" value="game" checked>打游戏
    <input type="checkbox" name="hobby[]" value="cook">做饭
    <input type="checkbox" name="hobby[]" value="wash">洗衣 服
    <br>
    <!-- 5:下拉列表框:点击后会出一个下拉列表,用户可以选择一个或多个选项 -->
    <!-- 下拉列表使用的是select标签,名值对name和value分在二个标签中 -->
    <!-- name写在父标签select中,value写在option子标签中,可以用selected属性设置默认值 -->
    级别: <select name="level">
    <option value="0">纯洁的小白</option>
    <option value="1">有点污啦</option>
    <option value="2" selected>目空一切</option>
    <option value="3">宇宙无敌小霸王</option>
</select>
    <br>
    <!-- 6.文件上传域:accept属性设置允许上传的文件类型,不过这个很少用,应该在服务器进行判断 -->
    头像:<input type="file" name="photo" accept="image/*"> <br>

    <!-- 特殊的隐藏域:type="hidden",为什么要用隐藏域呢?
    1.有一些数据是自动生成的,不需要用户输入:例如注册时间
    2.有一些数据用户是不知道的,例如,用户id
    3.后端通过表单向一些页面传数据时使用的主键或关键字 -->
    <!-- 在页面看不到隐藏域的东西,但是提交后可以在后台看到通过隐藏域传递过来的数据 -->
    <input type="hidden" name="user_id" value="10">

    文本域:<textarea name="comment" rows="5" cols="30"></textarea><br>

    <!-- 7.提交按钮:type="submit",type="button"是普通按钮,失去提交功能 -->
    <input type="submit" name="submit" value="提交">
    <input type="button" name="button" value="提交">
    <!-- type="reset"可以重置用户数据,恢复到最初状态 -->
    <input type="reset" name="reset" value="重置">
    <!-- 8.提交图像按钮: type="image",默认就是提交功能,与submit功能是一样的 -->
    <input type="image" name="submit" src="../images/submit.jpg" width="30">

</form>
</body>
</html>

运行实例 »

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

      补充案例

   

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>3-2实战1:用表格布局来实现用户注册表单</title>
</head>
<body>
<!-- 这个案例中,我们还要学员几个新标签,<label><fieldset><legend> -->

<form action="" method="post">
    <table border="0" cellspacing="0" cellpadding="8" align="center" width="400" bgcolor="powderblue">
        <caption><h2>用户注册</h2></caption>
        <tr><td colspan="2"><hr></td></tr>  <!-- 此行代码就是画一条分隔线没有其它用处 -->
        <tr align="center">
            <td align="right" width="60"><label for="name">邮箱:</label></td>
            <td align="left" width="300"><input type="text" id="name" name="name" value="" placeholder="example@mail.com" size="30" width="200"></td>
        </tr>

        <tr align="center">
            <td align="right"><label for="password">密码:</label></td>
            <td align="left"><input type="text" id="password" name="name" value="" placeholder="字母+数字不少于10位" size="30"></td>
        </tr>

        <tr align="center">  <!-- 如何设置label标签,点击时会导致第一个控件被选中 -->
            <td align="right">性别:</td> <!-- 不需要进入焦点 -->
            <td align="left">
                <input type="radio"  name="sex" value="male">男
                <input type="radio"  name="sex" value="female">女
                <input type="radio"  name="sex" value="secret" checked="">保密
            </td>
        </tr>

        <tr align="center">
            <td align="right">兴趣:</td>   <!-- 不需要进入焦点 -->
            <td align="left">
                <input type="checkbox" name="happy[]" value="html">HTML
                <input type="checkbox" name="happy[]" value="css">CSS
                <input type="checkbox" name="happy[]" value="javascript">JavaScript
                <input type="checkbox" name="happy[]" value="php" checked="">PHP
            </td>
        </tr>

        <!-- tr[align="center"]>(td>label[for="level"]{级别:}+td>select[id="level" name="level"]>option[value=""]*3) -->
        <tr align="center">
            <td align="right"><label for="level">级别:</label></td>
            <td align="left">
                <select name="level" id="level">
                    <option value="">我是零基础的小白啦</option>
                    <option value="" selected="">已经入门啦</option>
                    <option value="">做过一些项目</option>
                    <option value="">已经是大神级别</option>
                </select>
            </td>
        </tr>

        <tr align="center">
            <td align="right"><label for="photo">头像:</label></td>
            <td align="left">
                <img src="../images/13.png" height="30">
                <input type="file" id="photo" name="photo" accept="image/*">
            </td>
        </tr>

        <tr align="center">
            <td valign="middle" align="right"><label>简介:</label></td>
            <td align="left"><textarea name="comment" id="comment" rows="5" cols="40" placeholder="文明上网,理性发言"></textarea></td>
        </tr>

        <tr>
            <td colspan="2" align="center">
                <hr>
                <input type="submit" name="submit" value="提交">
                    
                <input type="reset" name="reset" value="重填">
            </td>
        </tr>

    </table>
</form>
</body>
</html>

运行实例 »

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


   2)样式的继承和样式冲突解决案例

   一.

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>样式继承</title>
    <style>
        body {
            font-size:22px; /*可继承*/
        }
        ul {
            font-weight: bolder; /*可继承*/
            border: 1px solid red; /*边框不可继承*/
            padding: 1rem;
        }

        ul li {
            border: inherit; /*指定inherit才可强制继承*/
            padding: inherit; /*指定inherit才可强制继承*/

            /*在浏览器检查器的style中可以看到li标签的所有样式规则与继承关系*/
        }
    </style>
</head>
<body>
    <!--nav>ul>li.item$*4>a{导航$$}-->
    <nav>
        <ul>
            <li class="item1"><a href="">导航01</a></li>
            <li class="item2"><a href="">导航02</a></li>
            <li class="item3"><a href="">导航03</a></li>
            <li class="item4"><a href="">导航04</a></li>
        </ul>
    </nav>
</body>
</html>

运行实例 »

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

   二:

  

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>样式冲突</title>
    <!--引入外部样式表文件:style-->
    <link rel="stylesheet" href="style.css">
</head>
<body>
<!--1.与样式声明的位置相关-->
<!--内部样式声明,仅适用当前文档-->
<style>
    h2 {
        /*color: cyan;*/
        /*3重要性级别最高 !important,内联样式都会被覆盖,江湖大哥*/
        color: cyan!important;
        /*2.与样式声明的顺序相关,相同样式规则之间互相层叠覆盖*/
        color: gold;  /*金色覆盖青色*/
    }
</style>
<!--内联样式声明,仅适用于当前元素-->
<!--优先级: 内联 > 内部 > 外部 (特殊性越小,优先级别越低)-->
<!--<h2>《CSS权威指南》</h2>-->
<!--<h2 style="color: coral">《CSS权威指南》</h2>-->

</body>
</html>

运行实例 »

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

二:作业提交

   test.jpg

作业二:

  

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择的使用</title>
    <style type="text/css">
        ul {
            margin: 0px;
            padding:0px;
            width:550px;
        }
        ul li{
            float: left;
            list-style: none;
            text-align: center;
            box-shadow: 2px 2px #999;
            width:40px;
            margin-left: 5px;
            height:40px;
            line-height: 40px;
            border: 1px solid blue;
            border-radius: 50%;
        }
        /*id 类 标签选择器省略*/
        ul li[class]{
           background-color:darkblue; /* 这里选择所以具有class属性的,这里还可以 属性名="值"*/
        }
        ul li[class^="test"]{ /* 这里的 ^表示已上门开头 $以什么结尾  * 包含 */
            background-color: bisque;
        }
        ul li span{  /* 后代选择器 */
            color:red;
        }
        ul >li{   /* ul后面所以的li--直接儿子 */
            background-color: greenyellow;
        }
        ul >li[class="test"] ~*{ /*选择当前元素之后的所有同级元素(不含当前)*/
            background-color: black;
            color: white;
        }
        /*相邻兄弟选择器*/
        ul li[class$="test"] + li {
            background-color: pink;
            color: red;
        }

        /*群组选择器*/
        h1, p {
            font-size: 2rem;
            font-weight: lighter;
            margin: 0;
        }

        /*伪类选择器: 链接*/
        a {
            font-size: 2rem;
        }
        /*访问前*/
        a:link {
            color:red;
        }
        /*访问后*/
        a:visited {
            color: orange;
        }
        /*获取焦点时*/
        a:focus {
            color: purple;
        }
        /*鼠标悬停时*/
        a:hover {
            color: green;
        }
        /*鼠标点击时*/
        a:active {
            color: blue;
        }

        /*伪类选择器: 位置*/
        /*选择集合中的第一个元素*/
        ul li:first-child {
            background-color: #efefef;
            background-color: #efefef!important;
        }

        /*选择集合中的最后一个子元素*/
        ul li:last-child {
            background-color: red;
        }

        /*按索引选择指定的元素,注意从1开始计数*/
        ul li:nth-child(5) {
            background-color: red;
        }
        /* 选择所有的偶数小球变色 */
        /* 2n偶数, even偶数, 2n+1奇数, odd奇数*/
        ul li:nth-child(even) {
            background-color: purple!important;
        }

        /*伪类选择器: 根据子元素数量*/
        /*选择具有唯一子元素的元素*/
        ol:only-child {
            background-color: lawngreen;
        }

        /* 选择指定类型的唯一子元素 */
        ol li:only-of-type {
            background-color: lawngreen;
        }

        /* 倒数选择指定位置的元素 */
        ul li:nth-last-child(3) {
            /*将倒数第3个小球变色,实际上第8号球*/
            background-color: wheat!important;
        }

        /*选择指定父级的第二个<li>子元素*/
        ol li:nth-of-type(2) {
            background-color: wheat;
        }

        /*选择页面中内容为空的元素*/
        :empty {
            width: 220px;
            height: 271px;
            background-color: coral;

        }

        :empty:after {
            content: '看到我了吗?亲';
        }

        :empty:before {
            /*默认插入的元素为行内元素,不支持宽度设定,如果一定要设置可以通过背景图片实现*/
            content: url("http://a.hiphotos.baidu.com/image/pic/item/9345d688d43f87949470e9e5de1b0ef41ad53a69.jpg");
            width:200px;
            height: 200px;
        }

    </style>
</head>
<body>
<ul>
    <li class="First">1</li>
    <li class="testSecond">2</li>
    <li>3 <span>玩</span></li>
    <li>4</li>
    <li>5</li>
    <li class="test">6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>
<hr>
<h1>css选择器大法</h1>
<p>css选择器非常重要,对于后面的jquery学习至关重要</p>
<a href="http://baidu.com">我伪类测试</a>
<ol>
    <li>列表项1</li>
    <!--
    现在给ol再添加一个子元素<p>,有二个子元素了,所以子元素不再唯一,
    如何才能选中唯一的li元素呢?only-of-type
    -->
    <p>我是一个段落</p>
</ol>
<ol>
    <li>列表项1</li>
    <li>列表项2</li>
    <li>列表项3</li>
</ol>

<ol>
    <li>列表项1</li>
    <li>列表项2</li>
    <li>列表项3</li>
    <li>列表项4</li>
</ol>
<!--空区块-->
<div></div>
</body>
</html>

运行实例 »

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


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post