热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

2022.4.25前端之CSS

2022.4.25前端之CSSform表单CSS简介CSS选择器CSS样式操作一、form表单form表单是一个包含表单元素的区域,允许用户在表单中(比如:文本域、下拉列表、单选框

2022.4.25前端之CSS

  • form表单

  • CSS简介

  • CSS选择器

  • CSS样式操作


一、form表单

form表单是一个包含表单元素的区域,允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。是前后端交互的重要标签。



  • form常用属性

  • input标签

  • select标签

  • textarea标签

  • label标签

  • button标签


1、form常用属性


(1)name

规定表单或标签的名称

# form表单








(2)value

eg:

"""
input标签中有两个非常重要的属性:
1.name属性
类似于字典的key(前端程序员写)
2.value属性
类似于字典的value(用户自己传)

如果标签是选择类型的,那么还需要前端程序员自己填写value,
用于区分具体数据含义
ps:我们在编写input标签的时候应该添加name属性
"""

(3)action

控制数据的提交地址:规定当提交表单时,向何处发送表单数据(默认为当前页面)。

# 方式1:写全路径
action="http://www.aa7a.cn/user.php"
# 方式2:写后缀
action="user.php"
# 方式2:不写(朝网页所在的地址提交)
action=""
"""url:统一资源定位符"""

(4)method(网络请求方式)

form表单中有一个method属性 用于控制提交的方式

有两个选项,默认是get请求

# 最常见的网络请求方式有两种
1.get请求: 朝服务端索要数据

2.post请求: 朝服务端提交数据

# 两种请求都可以携带数据
1.get请求是在url后面通过?组织数据:
url?name=jason&pwd=123&email=123@qq.com
'''
get请求虽然可以携带数据,但是一般只用于不重要的数据携带,
并且get请求携带数据的大小有限制 最多只能携带2KB左右
'''
2.post请求是在请求体中组织数据
HTTP请求数据格式

2、input标签

获取用户各中类型数据的标签(html里面的变形金刚)

根据其type属性值的不同,呈现不同的状态

# type=""
1. text # 正常展示的普通文本
placeholder:提示文本
value:默认值
name:名称
readonly:只读,布尔属性
required:必须输入,布尔属性
disabled:不可用,布尔属性,input,select,textarea的通用属性
minlength:最小长度,提交时判定
maxlength:最大可输入的长度
pattern:正则匹配
antocomplete :自动记录输入,以后输入时可以自动选择完成。可选值为on/off,默认on

用户名:


2. password # 密文展示
属性和text一样,主要区别是,会自动隐藏输入的内容
密码:


3. date # 日历展示
生日:


4. radio # 单选
(1)可以通过添加checked="checked"设置默认值
ps:如果属性名和属性值相同 可以简写checked
(2)name:名称,必须有,相同name的单选会作为一组,会相互排斥
(3)value:选项对应的值

性别:


其他

5. checkbox # 多选
可以产生多选框,也可以通过添加checked="checked"设置默认值
爱好:
篮球
足球
排球

6. email # 邮箱格式数据
邮箱:

7.file # 文件数据
用于添加文件数据,可以通过添加multiple属性控制获取单个还是多个文件

单个文件:


多个文件:



8. submit # 触发form表单提交数据


9. reset # 重置页面填写的数据


10. button # 普通按钮没有任何功能
意味着以后可以给它添加任意的功能(JS事件)


11. image # 图片按钮
作用同提交按钮一样,只是用属性src替换了value,表示图片地址

3、select标签

# 下拉框:一个个的下拉选项是一个个option标签
# 默认是单选

省市:


# 可以添加multiple变成多选

前女友:


# 通过size调整界面显示个数

# cols控制每行显示长度,rows控制显示行数,主要用于调整文本域大小,不会限制输入的文本
# 因为是双标签,所以默认内容不再是写在value属性中,而是直接写再标签里

5、label标签

(1)提示标签:专门给input标签配文字说明,也可以不使用

(2)属性for的值是:要提示的组件的id

(3)label可以跟某个input绑定 , 点击label就可以激活对应的input

eg:
# 写法1


# 写法2


6、button标签

按钮,在form中使用时有提交功能,和的功能一样,标签的文本即是按钮的提示文字

# 提交数据的功能
# 可以代替submit的提交功能
注意:与input属性中的button按钮的区别
# 仅仅是普通按钮

二、CSS简介


1、语法结构

选择器 {属性名1:属性值1;属性名2:属性值2}

2、语法注释

一个正常的网页css样式是非常多的 就算专门开设css文件存储也很乱,这个时候就可以在css文件中通过注释来辅助辨别与查找

/*注释内容*/

3、CSS的几种引入方式


(1)行内样式

head内style标签内部直接编写css代码

ps:建议在小白学习阶段可以使用 方便查看

Hello world.



(2)外部样式

head内link标签引入外部css文件,

ps:工作中一般使用的都是link形式,符合标准



(3)内部样式

即嵌入式:
嵌入式是将CSS样式集中写在网页的标签对应的标签中。
也称之为"行内式",是最不推荐使用的一种方式,因为它会将HTML和CSS柔和到一起,增加了耦合度





问题来了:CSS是用于调整HTML标签样式的,但是同一个页面上有很多相同的标签并且可能需要有不同的样式,怎么办呢?

首先我们要知道修改样式的标签是哪一个,因此:

CSS的学习流程是:


先学会如何查找标签(CSS选择器)


之后才能学如何给标签修改样式




三、CSS选择器



  • 基本选择器

  • 组合选择器

  • 属性选择器

  • 分组与嵌套

  • 伪类选择器


1、基本选择器


(1)标签选择器(范围查找)

# 直接通过标签名查找标签
h1 {
color: deeppink; /*让所有h1标签内部所有的字体颜色变为深粉色*/
}

(2)类选择器(范围查找)

通过标签的class属性查找标签(关键符号是句点符)

.c1 {
color: greenyellow; /*将所有class属性中含有c1的标签内部字体颜色改为亮绿色*/
}

(3)id选择器(精确查找)

通过标签的id属性查找标签,即通过标签id号查找(关键符号是#)

#d1 {
color: orange;
}

(4)通用选择器

可以查找所有的标签

* {
color: blue;
}

2、组合选择器(前面统一加#)

# 补充:标签关系

div1
div2

p1



p2
span1


span2

"""
通过嵌套层级来表示亲属关系
1.对于div1来说div2、p2、span2都是儿子
2.对于div2、p2、span2来说div1就是父亲
3.对于p1来说div2是父亲 div1是爷爷(可以将div1和div2统称为祖先)
4.对于span2来说div2、p2是哥哥 span2是弟弟
5.div1内部所有的标签无论层级都可以称之为是div1的后代
ps:判断的时候一定要看层级关系
"""

(1)儿子选择器(关键符号是大于号)

# 查找id是d1的标签内部所有的儿子span
#d1>span {
color: red
}

(2)后代选择器(关键符号是空格)

# 查找id是d1标签内部所有的后代span
#d1 span {
color: red;
}

(3)毗邻选择器(关键符号是加号)

# 查找id是d1标签同级别下面紧挨着第一个a标签
#d1 + a {
color: red;
}

(4)弟弟选择器(关键符号是小波浪号)

# 查找id是d1标签同级别下面所有a标签
#d1 ~ a {
color: red;
}

3、属性选择器


根据标签内部的属性名和属性值查找标签(关键符号是中括号)


(1)方式1:直接通过属性名查找

[type] {
background-color: red;
}

(2)方式2:属性名是type并且值是text的标签

[type='text'] {
background-color: red;
}

(3)方式3:属性名是type并且值是text的div标签

div[type='text'] {
background-color: red;
}

4、分组与嵌套


(1)分组

# 查找div或者p或者span标签
div, p, span {
color: red;
}

(2)嵌套

# 查找id是d1或者class包含c1或者span标签
# d1, .c1, span {
color: red;
}

(3)综合玩法

# 玩法1:
div#d1 查找id是d1的div标签
div.c1 查找class包含c1的div标签
# 玩法2:
div #d1 查找div内部id是d1的后代标签
#d1>.c1 查找id值是d1的标签内部class包含c1的儿子标签

5、伪类选择器


(1)鼠标悬浮

# 鼠标移动到p标签上方,字体颜色动态修改为橙色
p:hover {
color: orange;
}

(2)获取聚点

# 输入框被鼠标左键选中就会产生聚焦效果
input:focus {
background-color: black;
}

6、伪元素选择器

通过css操作文本内容

# 1.修改首个字体样式
p:first-letter {
color: red;
font-size: 48px;
}

# 2.在文本开头添加内容
p:before {
content:'开头';
color: blue;
}

# 3.在文本结尾添加内容
p:after {
content:'结尾';
color: yellow;
}

使用场景:

(1)用于后面清除浮动带来的负面影响

(2)用于网站的内容防爬


7、选择器的优先级


(1)CSS继承

继承是CSS的一个主要特征,只要定义了一个标签的样式,它也会作用域它的后代,例如一个body定义了的字体颜色值也会应用到段落的文本中,不过只要给对应的子标签设置字体颜色就可以覆盖继承的样式。

CSS继承权重是0,因此优先级很低


(2)选择器的优先级

在一个HTML页面中有很多种方式找到一个元素并且为其设置样式,浏览器是根据选择器的权重来应用哪个样式的

# html文件中
1.相同选择器
'就近原则':谁离标签越近就听谁的
2.不同选择器
行内选择器 > id选择器 > 类选择器 > 标签选择器

权重计算方式如下图:

LTAz3d.md.png

除此之外还可以通过添加 !important方式来强制让样式生效,但并不推荐使用。因为如果过多的使用!important会使样式文件混乱不易维护。

万不得已可以使用!important


四、CSS样式操作

...


代码操作:


form表单














用户注册

用户名:


密码:


性别:


其他


爱好:
篮球
足球
排球


生日:


邮箱:


单个文件:


多个文件:


省市:


前女友:


个人介绍:












CSS层叠样式表












学习之路本身就是充满荆棘的!!!

学习之路本身就是充满荆棘的!!!


学习之路本身就是充满荆棘的!!!

学习之路本身就是充满荆棘的!!!


学习之路本身就是充满荆棘的!!!

学习之路本身就是充满荆棘的!!!


学习之路本身就是充满荆棘的!!!

我是个p标签


我是个span标签




推荐阅读
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 在API测试中,我们常常需要通过大量不同的数据集(包括正常和异常情况)来验证同一个接口。如果为每种场景单独编写测试用例,不仅繁琐而且效率低下。采用数据驱动的方式可以有效简化这一过程。本文将详细介绍如何利用CSV文件进行数据驱动的API测试。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
author-avatar
圣换少爷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有