Day48:HTML(form标签)、CSS选择器

一、表单标签<form>

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

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

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

表单属性

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

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

表单元素

‘‘‘
<1> 表单类型

type:        text 文本输入框

             password 密码输入框

             radio 单选框

             checkbox 多选框  

             submit 提交按钮            

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

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

            上传文件注意两点:
请求方式必须是post
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都好使。
‘‘‘

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>注册</title>
</head>
<body>

<form action="/index" method="post">
    <p><label for="user">姓名</label>
         <input type="text" name="user" placeholder="用户名" id="user">
    </p>
    <p>
        密码 <input type="password" name="pwd">
    </p>
    <p>
        爱好 <input type="checkbox" name="hobby" value="basketball">篮球
             <input type="checkbox" name="hobby" value="footbal">足球
            <input type="checkbox" name="hobby" value="multi_color" checked="checked">彩色球
    </p>
    <p>
        性别:<input type="radio" name="sex" value="1">男
             <input type="radio" name="sex" value="0">女
    </p>
    <p>
        <input type="reset">
    </p>
    <p>
        <input type="button" value="按钮">
    </p>
    <p>
        <input type="file">
    </p>
    <p>
        <input type="submit">
    </p>
</form>

</body>
</html>

注册实例

2、select标签

‘‘‘
 <select> 下拉选标签属性

          name:表单提交项的键.

          size:选项个数

          multiple:multiple 多选,需按Ctrl进行选择
                 <optgroup>为每一项加上分组

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

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

‘‘‘

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
</head>
<body>
<form action="">
    <tr>省份:
    <select name="provinces" >
        <optgroup label="华北"></optgroup>
        <option value="henan">河南</option>
        <option value="hebei">河北</option>
        <option value="shanxi">山西</option>
        <option value="..." selected>....</option>
    </select>
    </tr>
</form>
</body>
</html>

选择实例

3、<textarea> 多行文本框

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>注册</title>
</head>
<body>

<form action="/index" method="post">
    <p>姓名
         <input type="text" name="user" placeholder="用户名" id="user">
    </p>
    <p>
        密码 <input type="password" name="pwd">
    </p>
    <p>
        爱好 <input type="checkbox" name="hobby" value="basketball">篮球
             <input type="checkbox" name="hobby" value="footbal">足球
            <input type="checkbox" name="hobby" value="multi_color">彩色球
    </p>
    <p>
        性别:<input type="radio" name="sex" value="1">男
             <input type="radio" name="sex" value="0">女
    </p>
    <p>简介:
        <textarea name="jianjie" id="form1" cols="30" rows="10" placeholder="个人简介"></textarea>
    </p>
    <p>
        <input type="reset">
    </p>
    <p>
        <input type="button" value="按钮">
    </p>
    <p>
        <input type="file">
    </p>
    <p>
        <input type="submit">
    </p>

</form>

</body>
</html>

多行文本框

4、<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>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>注册</title>
</head>
<body>

<form action="/index" method="post">
    <p><label for="user">姓名</label>
         <input type="text" name="user" placeholder="用户名" id="user">
    </p>
    <p>
        密码 <input type="password" name="pwd">
    </p>
    <p>
        爱好 <input type="checkbox" name="hobby" value="basketball">篮球
             <input type="checkbox" name="hobby" value="footbal">足球
            <input type="checkbox" name="hobby" value="multi_color">彩色球
    </p>
    <p>
        性别:<input type="radio" name="sex" value="1">男
             <input type="radio" name="sex" value="0">女
    </p>
    <p>
        <input type="reset">
    </p>
    <p>
        <input type="button" value="按钮">
    </p>
    <p>
        <input type="file">
    </p>
    <p>
        <input type="submit">
    </p>

</form>

</body>
</html>

标注实例

5、<fieldset>标签

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

效果:

二、CSS

1、CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。

selector {
                  property: value;
                  property: value;
             ...  property: value
          }        

例如:

h1 {   color:red;
     font-size:14px;
    }

2、css的四种引入方式

1.行内式

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

<p style=" padding: 0px; color: rgb(0, 0, 255); line-height: 1.5 !important;">>hello world</p>

2.嵌入式

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

格式如下:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{
            background-color: #2b99ff;
        }
    </style>
</head>

3 链接式

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

<link href="mystyle.css" rel="stylesheet" type="text/css"/>

4.导入式

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

<style type="text/css">

          @import"mystyle.css"; 此处要注意.css文件的路径

</style> 

注意:

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

3、css选择器

1.基本选择器

2.组合选择器

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; }

E + F   毗邻元素选择器,匹配所有紧随E元素之后的同级元素F  div + p { color:#f00; } 

E ~ F   普通兄弟选择器(以破折号分隔)                   .div1 ~ p{font-size: 30px; }

注意,关于标签嵌套:

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

3.属性选择器

E[att]          匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略。
                比如“[cheacked]”。以下同。)
         p[title] { color:#f00; }

E[att=val]      匹配所有att属性等于“val”的E元素
         div[class=”error”] { color:#f00; }

E[att~=val]     匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素
                td[class~=”name”] { color:#f00; }

E[attr^=val]    匹配属性值以指定值开头的每个元素
                div[class^="test"]{background:#ffff00;}

E[attr$=val]    匹配属性值以指定值结尾的每个元素
         div[class$="test"]{background:#ffff00;}

E[attr*=val]    匹配属性值中包含指定值的每个元素
          div[class*="test"]{background:#ffff00;}

4.伪类

anchor伪类:专用于控制链接的显示效果

‘‘‘
        a:link(没有接触过的链接),用于定义了链接的常规状态。

        a:hover(鼠标放在链接上的状态),用于产生视觉效果。

        a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接。

        a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态。

        伪类选择器 : 伪类指的是标签的不同状态:

                   a ==> 点过状态 没有点过的状态 鼠标悬浮状态 激活状态

        a:link {color: #FF0000} /* 未访问的链接 */

        a:visited {color: #00FF00} /* 已访问的链接 */

        a:hover {color: #FF00FF} /* 鼠标移动到链接上 */

        a:active {color: #0000FF} /* 选定的链接 */ 格式: 标签:伪类名称{ css代码; }

‘‘‘

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

    <style>

       .top{
           background-color: rebeccapurple;
           width: 100px;
           height: 100px;
       }
        .bottom{
            background-color: green;
            width: 100px;
            height: 100px;
        }

        .outer:hover .bottom{
            background-color: yellow;
        }

        注意:一定是outer:hover  控制outer里某一个标签,否则无效

        .top:hover .bottom{
            background-color: yellow;
        }
    </style>
</head>
<body>

<div class="outer">
    <div class="top">top</div>
    <div class="bottom">bottom</div>
</div>

</body>
</html>

示例

before after伪类

 :before    p:before       在每个<p>元素之前插入内容
 :after     p:after        在每个<p>元素之后插入内容     

例:p:before{content:"hello";color:red;display: block;}

5.选择器的优先级

5.1 CSS的继承

继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的。继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。例如一个BODY定义了的颜色值也会应用到段落的文本中。

body{color:red;}       <p>helloyuan</p>

这段文字都继承了由body {color:red;}样式定义的颜色。然而CSS继承性的权重是非常低的,是比普通元素的权重还要低的0。

p{color:green}

发现只需要给加个颜色值就能覆盖掉它继承的样式颜色。由此可见:任何显示申明的规则都可以覆盖其继承样式。 

此外,继承是CSS重要的一部分,我们甚至不用去考虑它为什么能够这样,但CSS继承也是有限制的。有一些属性不能被继承,如:border, margin, padding, background等。

div{
  border:1px solid #222
}

<div>hello <p>yuan</p> </div>
5.2 CSS的优先级

所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。

样式表中的特殊性描述了不同规则的相对权重,它的基本规则是:

1 内联样式表的权值最高                 style=""------------1000;

2 统计选择符中的ID属性个数。         #id --------------100

3 统计选择符中的CLASS属性个数。    .class -------------10

4 统计选择符中的HTML标签名个数。   p ---------------1

按这些规则将数字符串逐位相加,就得到最终的权重,然后在比较取舍时按照从左到右的顺序逐位比较。

  1、文内的样式优先级为1,0,0,0,所以始终高于外部定义。

  2、有!important声明的规则高于一切。

  3、如果!important声明冲突,则比较优先权。

  4、如果优先权一样,则按照在源码中出现的顺序决定,后来者居上。

  5、由继承而得到的样式没有specificity的计算,它低于一切其它规则(比如全局选择符*定义的规则)。

时间: 2024-10-24 06:40:46

Day48:HTML(form标签)、CSS选择器的相关文章

Form标签+Css基础

一.Form表单标签 <form action="" method=""></form> 表单就是用来将用户的信息提交到服务器,服务器会将信息存储或者根据信息查询数据(增删改查). 表单中所有的内容都要写在form标签中. <input type="text" value="哈哈哈哈" placeholder="请输入用户名"> Input文本输入框,type类型为tex

第三节课(a标签 css 选择器)

a:超链接标签 <a href="" target="" title="">内容</a>  href如果不写,点击内容只会刷新页面, 1. href 写跳转地址,如果跳转网站,前面写协议,<a href="https://www.baidu.com"></a>,也可以放图片地址,点击之后页面就是该图片. 没有点击超链接时,a 标签内字体颜色为蓝色,点击完之后为字体变成紫色. 2.

css(二)css选择器,伪类

前戏 前面我们说过CSS规则由选择器和声明组成,我们要给标签设置属性,那我们就要找到对应的标签,CSS选择器可以帮我们找到我们需要的标签 css选择器有: 标签选择器 类选择器 ID选择器 全局选择器 群组选择器 后代选择器 标签选择器 标签选择器前面我们用过,它是以HTML标签作为选择器 <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type&qu

HTML(form标签)、CSS选择器

一.表单标签<form> 功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互. 表单能够包含input系列标签,比如文本字段.复选框.单选框.提交按钮等等. 表单还可以包含textarea.select.fieldset和 label标签. 表单属性 action: 表单提交到哪.一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web method: 表单的提交方式 post/get默认取值就是ge

2015-09-17 第二节课 滚动标签、form标签和CSS样式

一.滚动字幕标签的用法:<marquee></marquee> [举例如下]: <marquee direction="left">想左边跑动!</marquee> <marquee heiht="200" direction="up" hspace="200">向上滚动!</marquee> <marquee scrollamount="

CSS - 选择器(标签选择器、类选择器、ID选择器)

标题 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <

25 May 18 HTML-Tabel标签 CSS介绍 CSS选择器

25 May 18 一.table标签(标记一段数据为表格) #1.作用:表格标签是一种数据的展现形式,当数据量非常大的时候,使用表格的形式来展示被认为是最清晰的 #2.格式 <table> <tr> <td></td> </tr> </table> tr代表表格的一行数据 td表一行中的一个单元格 #3.注意点: 表格标签有一个边框属性,这个属性决定了边框的宽度.默认情况下这个属性的值为0,所以看不到边框 #4表格属性 a.宽度和高

这 30 类 CSS 选择器,你必须理解!

CSS 选择器是一种模式,用于选择需要添加样式的元素.平时使用最多也是最简单的就是 #id..class 和标签选择器,在 CSS 中还有很多更加强大更加灵活的选择方式,尤其是在 CSS3 中,增加了很多新的选择器,使得选择元素更加便捷,所以必须理解这些选择器,只有先理解了,多用几次,自然而然就记住了. 1.* [CSS2] 通配符,选择页面所有元素. 1 *{ 2 margin:0; 3 padding:0; 4 } 上面代码的作用是把页面上所有元素的内外边距设置为 0,这是最基本的清除默认 

转 css选择器

CSS是对网页设计师可用的最强大的工具之一.使用它我们可以在几分钟内改变一个网站的界面,而不用改变页面的标签.但是尽管事实上,我们每个人也都意识到了它是有用的,CSS 选择器远未发挥它们的潜力,有的时候我们还趋向于使用过多的和无用的class.id.div.span等把我们的HTML搞的很凌乱. 避免让这些“瘟疫”在你的标签中传播并保持其简洁和语义化的最佳方式,就是使用更复杂的CSS选择器,它们可以定位于指定的元素而不用使用额外的class或id,而且通过这种方式也可以让我们的代码和样式更加灵活