4表单和高级选择器

Posted tea_year

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4表单和高级选择器相关的知识,希望对你有一定的参考价值。

表单和高级选择器

1、什么是表单

表单用于收集用户的信息,是浏览器和用户之间沟通的桥梁。

就是你在注册账号时,让你输手机号,输密码那个小框框,明白了吧

还不明白? 来 给你个图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CGdfat5P-1629718059913)(.\\assetis\\表单.png)]

现实中的表单,类似我们去银行办理信用卡填写的单子。 如下图

目的是为了收集用户信息。

在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时也需要表单。

html中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。

表单控件:

​ 包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。

提示信息:

​ 一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。

表单域:

​ 他相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。

2、input 控件(重点)

在上面的语法中,<input />标签为单标签,type属性为其最基本的属性,其取值有多种,用于指定不同的控件类型。除了type属性之外,<input />标签还可以定义很多其他的属性,其常用属性如下表所示。

<body>
    <form method="post" action="a.html">
        <p> 名字:<input name="name" type="text"> </p>
        <p> 密码:<input name="pass" type="password"> </p>
        <p>
            <input type="submit" name="Button" value="提交">
            <button>提交</button>
        </p>

        <p><input type="image" src="./图片.png" style="width: 100px;height: 40px;">
            <input type="reset" name="Reset" value="重填">
        </p>
    </form>


</body>

3、radio单选框多个选项只能选择一个的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lfj2Ztp5-1629718059915)(.\\assetis\\radio.png )]

解决方法,给两个input框添加一个相同的name,关联起来,这样就只能选择一个了

<body>
    <form action="">
        请选择性别:
        <input type="radio" name="sex"><input type="radio" name="sex"></form>
</body>

4、label标签(理解)

label 标签为 input 元素定义标注(标签)。

作用: 用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点

如何绑定元素呢?

for 属性规定 label 与哪个表单元素绑定。

<label for="male">Male</label>
<input type="radio" name="sex" id="male" value="male">
<body>
    <form action="">
        请选择性别:<input type="radio" name="sex" id="man">
        <label for="man"></label> 
        <input type="radio" name="sex" id="woman">
        <label for="woman"></label>

    </form>
</body>

type=”checkbox”的时候,复选框。可重复选择,应用场景,接受协议

type=”button”的时候,是登陆框。想让文字出现在登陆框里面,需要在input里面添加value属性,value后面跟要添加的文字。

例:

效果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NJUQUdcu-1629718059917)(.\\assetis\\wps1.jpg)]

​ 按钮效果也可以直接用butto双标签,效果一样,注册

​ input框设置提醒字符,打字的时候会自动消失,比如某些输入框会提醒,请输入 账号等

​ 语法:在input标签内添加placeholder=”要提示的内容”

请输入姓名:<input type="text" placeholder="请输入用户名:">

5、textarea控件(文本域 了解)

如果需要输入大量的信息,就需要用到<textarea></textarea>标签。通过textarea控件可以轻松地创建多行文本输入框,其基本语法格式如下:

<textarea cols="每行中的字符数" rows="显示的行数">
  文本内容
</textarea>

开发中评论输入框一般使用可编辑的div进行操作

 <div contenteditable="true">这是一个div标签,点击可以编辑</div>

6、下拉菜单

使用select控件定义下拉菜单的基本语法格式如下

<select>
  <option>选项1</option>
  <option>选项2</option>
  <option>选项3</option>
  ...
</select>

注意:

  1. <select></select>中至少应包含一对<option></option>。
  2. 在option 中定义selected =" selected "时,当前项即为默认选中项。

7、表单域

在HTML中,form标签被用于定义表单域,即创建一个表单,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。创建表单的基本语法格式如下:

<form action="url地址" method="提交方式" name="表单名称">
  各种表单控件
</form>

常用属性:

  1. Action
    在表单收集到信息后,需要将信息传递给服务器进行处理,action属性用于指定接收并处理表单数据的服务器程序的url地址。
  2. method
    用于设置表单数据的提交方式,其取值为get或post。
  3. name
    用于指定表单的名称,以区分同一个页面中的多个表单。

注意: 每个表单都应该有自己表单域。

8、表单的高级应用

  1. 在表单内部添加disabled,即禁用该表单,或者禁用按钮

例子:

​ 提交

​ 应用场景:填写信息不完整,不同意服务选项等等,此时可以设置表单按钮不可用

​ readonly 只读 只能读 不能修改 直接写在表单里面

​ disable 禁用

​ hidden 隐藏 (提交一些信息,想要保存在页面中,但是不想让用户看到)

9、CSS复合选择器

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签。

交集选择器

交集选择器由两个选择器构成,其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,如h3.special。

记忆技巧:

交集选择器 是 并且的意思。 即…又…的意思

h3.specila{}
比如:   p.one   选择的是: 类名为 .one  的 段落标签。  

用的相对来说比较少,不太建议使用。

<head>
    <meta charset="UTF-8">
    <title>交集选择器</title>
    <style>
        /* 标签名为.tag的p标签 */
        p.tag{
            color: red;
        }
    </style>
</head>
<body>
    <p>我是p标签</p>
    <p class="tag">我是类名为tag的p标签</p>
</body>

并集选择器

并集选择器(CSS选择器分组)是各个选择器通过逗号连接而成的,任何形式的选择器(包括标签选择器、class类选择器id选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式。

记忆技巧:

并集选择器 和 的意思, 就是说,只要逗号隔开的,所有选择器都会执行后面样式。

比如  .one, p , #test {color: #F00;}  表示   .one 和 p  和 #test 这三个选择器都会执行颜色为红色。  通常用于集体声明。

他和他,在一起, 在一起 一起的意思

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

    <style>
        h1,p{
            color: red;
        }
    </style>
</head>
<body>
    <h1>老陈真帅</h1>
    <p>楼上说的对呀</p>
</body>

后代选择器

后代选择器又称为包含选择器,用来选择元素或元素组的后代,其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

子孙后代都可以这么选择。 或者说,它能选择任何包含在内 的标签。

示例:

  <style>
        h1 em{
            color: red;
        }
    </style>
</head>

<body>
    <h1>This is a <em>important</em> heading</h1>
    <h1>我是第二个h1 <span>span包裹起来了 <em>我是em</em></span></h1>
    <p>This is a <em>important</em> paragraph.</p>
</body>

子元素选择器(子代选择器)

子元素选择器只能选择作为某元素子元素的元素。其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接,注意,符号左右两侧各保留一个空格。

白话: 这里的子 指的是 亲儿子 不包含孙子 重孙子之类。

子代和后代的区别,后代只要是后代的都发生变化,即爸爸选中后,儿子,孙子,只要名字一样都发生变化。

子带,爸爸选中后,只有儿子发生变化。

 比如:  .demo > h3 {color: red;}   说明  h3 一定是demo 亲儿子。  demo 元素包含着h3。
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <style>
        h1>strong{
            color: red;
        }
    </style>
</head>

<body>
    <h1>This is <strong>very</strong> <strong>very</strong> important.</h1>
    <h1>This is <em>really <strong>very</strong></em> important.</h1>
</body>

属性选择器

只要具备某个属性,或者属性=属性值,就会被选中执行某些操作。

语法:
[属性]{

声明;

}

也可以:

[属性=”值”]{

声明;

}

^= 以某某开头

$= 以某某结尾

*= 包含某某

<head>
    <meta charset="UTF-8">
    <title>属性选择器</title>

    <style>
        /* 只要包含href属性的标签全部选中 */
        [href]{
            color: red;
        }

        /* href属性的值必须完全是 'aqiyi.com' */
        [href='aqiyi.com']{
            color: rgb(161, 30, 30);
        }

        /* href属性的值是以 h 开头的选中 */
        [href ^='h']{
            color: yellow;
        }

         /* href属性的值是以 n 结束的选中 */
        [href$='n']{
            color: red;
        }

        /* href属性值中包含baidu的  选中 */
        [href *='baidu']{
            color: seagreen;
        }


    </style>
</head>
<body>
    <p><a href="http://www.baidu.com">百度</a></p>
    <p><a href="www.google.cn">谷歌</a></p>
    <p><a href="aqiyi.com">爱奇艺</a></p>

</body>
</html>
    [href ^='h']{
        color: yellow;
    }

     /* href属性的值是以 n 结束的选中 */
    [href$='n']{
        color: red;
    }

    /* href属性值中包含baidu的  选中 */
    [href *='baidu']{
        color: seagreen;
    }


</style>

百度

谷歌

爱奇艺

```

10、综合练习-完成京东注册页

以上是关于4表单和高级选择器的主要内容,如果未能解决你的问题,请参考以下文章

cgb2108-day08

Android - 片段中的联系人选择器

Perl CGI 日期和时间选择器,自动填充当前日期和时间

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器

教程4 - 验证和权限