date3(form表单,今天html结束,css)

参考:

  http://www.cnblogs.com/yuanchenqi/articles/6835654.html

http://www.cnblogs.com/yuanchenqi/articles/6856399.html(css)

form表单是用来向后端服务器提交数据的,本次主要掌握的有input,select标签

form标签中必须要有的一个属性是name,是键的意思(向后端发送数据是以字典的形式发送的),value提供的方式有多种,不同的具体对待

 

form表单详细

表单标签: <form>

      功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互

      表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等等。

      表单还可以包含textarea、select、fieldset和 label标签。

表单属性

     action: 表单提交到哪.一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web

     method: 表单的提交方式 post/get默认取值就是get

表单元素

基本概念:
HTML表单是HTML元素中较为复杂的部分,表单往往和脚本、动态页面、数据处理等功能相结合,因此它是制作动态网站很重要的内容。
表单一般用来收集用户的输入信息
表单工作原理:
访问者在浏览有表单的网页时,可填写必需的信息,然后按某个按钮提交。这些信息通过Internet传送到服务器上。 
服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误。当数据完整无误后,服务器反馈一个输入完成的信息

<input>系列标签

复制代码
'''
<1> 表单类型

type:        text 文本输入框

             password 密码输入框

             radio 单选框

             checkbox 多选框  

             submit 提交按钮            

             button 按钮(需要配合js使用.) button和submit的区别?

             file 提交文件:form表单需要加上属性enctype="multipart/form-data" 
            
            上传文件注意两点:

                     1 请求方式必须是post
                     2 enctype="multipart/form-data"

 <2> 表单属性

 name:    表单提交项的键.

           注意和id属性的区别:name属性是和服务器通信时使用的名称;
           而id属性是浏览器端使用的名称,该属性主要是为了方便客户端编程,而在css和javascript中使用的

value:    表单提交项的值.对于不同的输入类型,value 属性的用法也不同:

                type="button", "reset", "submit" - 定义按钮上的显示的文本
                 
                type="text", "password", "hidden" - 定义输入字段的初始值
                 
                type="checkbox", "radio", "image" - 定义与输入相关联的值


checked:  radio 和 checkbox 默认被选中

readonly: 只读. text 和 password

disabled: 对所用input都好使.

'''
复制代码
select标签

复制代码
'''
 <select> 下拉选标签属性


          name:表单提交项的键.

          size:选项个数

          multiple:multiple 
                 <optgroup>为每一项加上分组

                 <option> 下拉选中的每一项 属性:

                       value:表单提交项的值.   
                       selected: selected下拉选默认被选中

'''
复制代码
<textarea> 多行文本框

 

复制代码
'''

<form id="form1" name="form1" method="post" action="">
        <textarea cols=“宽度” rows=“高度” name=“名称”>
                   默认内容
        </textarea>
</form>

'''
复制代码
 

<label>标签

定义:<label> 标签为 input 元素定义标注(标记)。
说明:
1 label 元素不会向用户呈现任何特殊效果。
2 <label> 标签的 for 属性值应当与相关元素的 id 属性值相同。

复制代码
'''

<form method="post" action="">

        <label for=“username”>用户名</label>
        <input type=“text” name=“username” id=“username” size=“20” />
</form>

'''
复制代码
<fieldset>标签

复制代码
'''

<fieldset>
    <legend>登录吧</legend>
    <input type="text">
</fieldset>

'''
复制代码
View Code

form表单代码样例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<h1>用户注册</h1>

<form action="/index/" method="post">

    <!--所有在form表单中的内容都需要以键值队的方式提交,Name是必须的-->
    <p>姓名:<input type="text" name="username" value="yuan"></p>
    <p>密码:<input type="password" name="pwd"></p>
<!--input 输入格式为text,或password(此格式输入的不显示数字)-->
    <p>爱好:篮球<input type="checkbox" name="aihao" value="basktball" checked="checked">
             足球<input type="checkbox" name="aihao" value="football">
             乒乓球<input type="checkbox" name="aihao" value="pingpang"></p>
<!--checkbox是复选框,name是必须的,组成一个字典格式,value是一个列表格式-->

    <p>性别  男<input type="radio" name="sex" value="men"><input type="radio" name="sex" value="women">其他<input type="radio" name="sex" value="fang"></p>
    <!--  radio是互斥的多选框 -->
    <p><input type="hidden" name="data" value=""></p>
    <!--此是默认发送给服务器,而需要对浏览器隐藏的-->

    <p><input type="file" name="filename"></p>
    <!--与服务器交换文件-->
    <p><input type="button" value="button"></p>

    <select name="province" size="3" multiple>
        <optgroup label="中国">
                <option value="hebei" selected>河北省</option>
                <option value="henan" selected>河南省</option>
                <option value="shanxi">陕西省</option>
                <option value="sanxi">山西省</option>
        </optgroup>
    </select>
<!--select name是用来保存键的,value是用来保存值 选择省份,size 2是显示两个,multiple是按着ctrl多选,selected默认选中,multiple所以可以多选-->
    <!--optgroup是一个中国组,包括几个省,-->
    <p>简介:</p>

    <p>
        <textarea name="jianjie" rows="8" cols="32"></textarea>
        <!--简介,textarea-->
    </p>
    <label for="username">用户名</label>
    <input type="text" name="username" id="username">
<!--lable标签就是在input用户框的前面点汉字也能直接进去输,label的for跟后面的input的id成了绑定关系,点这个跟点那个效果一样-->

    <fieldset>
        <legend>登录吧</legend>
        <input type="text">
    </fieldset>

    <p><input type="submit" value="submit"></p>
<!--submit是提交form表单-->

</form>

</body>
</html>
View Code

 

css四种导入方式(重点掌握第三种链接式的,第四种不推荐使用)

css的四种引入方式 

1.行内式

          行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。

1
<p style="background-color: rebeccapurple">hello yuan</p>
2.嵌入式

          嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:

1
2
3
4
5
6
7
8
9
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{
            background-color: #2b99ff;
        }
    </style>
</head>
3 链接式

            将一个.css文件引入到HTML文件中

1
<link href="mystyle.css" rel="stylesheet" type="text/css"/>
4.导入式

          将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:    

1
2
3
4
5
<style type="text/css">
 
          @import"mystyle.css"; 此处要注意.css文件的路径
 
</style> 
注意:

      导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。这是导入式固有的一个缺陷。使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。
View Code

 

  

注意:一个块级标签可以嵌套块级标签,也可以嵌套内联标签
但是内联不能嵌套块级
例外:p不能嵌套任何块级标签

css选择器

<head>
    <meta charset="UTF-8">
    <title></title>

    <style>
        /*p{*/
            /*color: red;*/
        /*}*/

        /*#p3{*/
            /*color: gold;*/
        /*}*/

     /*.c{*/
         /*color: darkblue;*/
     /*}*/
        *{
            margin: 0px;
            /*这个margin的意思是把标签与浏览器的边距设为0*/
        }

        div{
            width: 200px;
            height: 200px;
            background-color: blueviolet;
        }

        .page{
            display: inline-block;
            width: 10px;
            height: 20px;
            background-color: gray;
            color: blue;
        }

        #index_page{
            background-color: yellow;
        }

    </style>
</head>
<body>


<p class="c">PPP</p>
<p class="c">PPP</p>
<p id="p3">PPP</p>
<p id="pp">PPP</p>

<div>div</div>



<ul class="outer">
    <li class="page" id="index_page">1</li>
    <li class="page">2</li>
    <li class="page">3</li>
    <li class="page">4</li>
    <li class="page">5</li>
    <li class="page">6</li>
</ul>

</body>
View Code

css组合选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>

        /*后代选择器--用的最多*/
        /*.outer p{*/
            /*color: red;*/
        /*}*/

        /*.p1,.div2{*/
            /*color: green;*/
        /*}*/


        /*> :子代选择器*/
       /*.outer>p{*/
            /*color: red;*/
        /*}*/

        /*+:毗邻选择器------向下紧挨着*/
        /*.outer+p{*/
            /*color: red;*/
        /*}*/

         /*~ : 兄弟选择器*/
        /*.outer~p{*/
            /*color: red;*/
        /*}*/

    </style>
</head>
<body>
<p>PPP</p>
<div class="outer">
        <div class="div1">
            div1
            <p>P</p>
        </div>

        <p>PP</p>
</div>

<p class="p1">PPP</p>

<div class="div2">div</div>



</body>
</html>
View Code

 

css选择器

基本选择器

                  

组合选择器

1
2
3
4
5
6
7
8
9
E,F   多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔      :div,p { color:#f00; }
 
E F   后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔 :li a { font-weight:bold;}
 
E > F   子元素选择器,匹配所有E元素的子元素F            :div > p { color:#f00; }
  
+ F   毗邻元素选择器,匹配所有紧随E元素之后的同级元素F  :div + p { color:#f00; } 
 
E ~ F   普通兄弟选择器(以破折号分隔)                 :.div1 ~ p{font-size: 30px; }

注意,关于标签嵌套:

一般,块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。需要注意的是,p标签不能包含块级标签。

 

posted @ 2018-02-10 18:24  wanchenxi  阅读(414)  评论(0编辑  收藏  举报