整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Web前端入门新人必看,怎样使用CSS修改HTML的样式

、CSS的起源

当web开发还是一项新技术的时候,无论定义网页内容还是定义网页样式,都是使用的HTML语言,HTML的内容和样式没有区分开,如古老的HTML样式:

<H3 COLOR=RED><CENTER>样式</CENTER></H3>

其中color表示颜色,center让文字居中,不是目前规范的书写形式,而且旧的HTML标签都是大写的,web开发人员还需要来回切换大小写,所以很多人认识到了这种开发方式并不理想。

Web开发人员想开发一种新的语言,把表示样式的代码从HTML中分离出来,并且创建一种规则来定义HTML标签要显示成什么样子,这门语言叫做CSS,CSS是用来描述HTML标签应该如何显示的一个代码。如:

<h3>样式</h3> 

用CSS可以让h3标签显示成绿色,让h3字体在大一点,让h3有一个下划线,可以统一字体的显示样式等。

CSS样式

二、CSS的工作方式

CSS的全称叫做 Cascading Style Sheets 级联样式表,CSS的工作方式依赖于"选择器"可以选择HTML标签,并且修改这些标签的样子。

选择器的类型有:

1、类型选择器:不带尖括号的标签名,最简单的选择器

类型选择器

定义了一个P标签,如果想在CSS中选择这个标签,首先写上字母P,然后选择要定的属性如text-decoration,并设置这个属性的属性值为underline下划线,在浏览器中这个段落就会显示下划线。

类型选择器

使用选择器的时候我们必须要遵守选择器的特殊语法规则:

选择器名字后面是一个开始的大括号,属性和属性值中间是冒号,属性值后面是分号,这里面任何一部分都不能丢掉,否则CSS无法正常工作,并且要注意标点符号全部是英文半角的,最后在所有的属性列表后面是一个结束的大括号,大括号的作用就是可以在里面写很多属性,如图:

类型选择器

显示结果为带下划线的红色字体段落:

类型选择器

在CSS中使用标签名选择标签的时候,类型选择器会作用在所有同名标签中。所以这里只定义额一CSS样式,它会作用在所有的P标签中。

2、派生选择器

可以让CSS标签作用在很小的范围内,如下图,只让CSS作用在li标签中,所以选择ul标签中的li标签即可。

派生选择器

3、伪类选择器

1)在原有选择器的基础上添加一个限定条件,当某种情况发生时在选择这个标签。如下图,首先定义个a的类型选择器,让页面中所有的超链接下划线都不显示,然后通过派生选择器控制鼠标的动作,当鼠标移上去的时候,超链接文字显示下划线并显示为深蓝色。

伪类选择器

伪类选择器

这条规则只有当鼠标放到超链接上停留的时候才会被应用,因此当某种情况发生时候伪类选择器才会被应用在某个标签上。

a的伪类选择器一共有四种:

:link 未被访问的链接的样式;和a标签相同时,并且同时存在的时候会覆盖a标签

:hover 鼠标移动到超链接上的时候

:active 选择器用于活动链接,被选定的超链接。

:visited 已被访问的超链接,

注释:在 CSS 定义中,:hover 必须位于 :link 和 :visited 之后(如果存在的话),这样样式才能生效。

2)使用伪类选择器缩小选择范围

:first-child 缩小标签的选择范围,如图:

如果一个标签后面还接了一个子标签,在子标签后面冒号:first-child,说明这里只选择了子标签中的第一个标签,可以看到浏览器中有序列表中的第一个li子元素"北京"颜色为紫色。

伪类选择器

伪类选择器

CSS样式

三、CSS样式表放在什么地方

在head标签中添加style子标签,在style标签里写一个属性type="text/css",这样浏览器就知道当页面显示出来的时候,需要把style中的CSS代码应用到HTML中,因此可以在style标签中创建CSS规则。

css样式

每天进步一点点,跟着教头学开发。

0月19日,江苏省教育考试院公布江苏省2024年普通高考报名问答,对考生在高考报名中的疑问进行了详细解答——

1.2024年高考网上报名的时间和网址是什么?

答:2024年高考网上报名时间为2023年11月1日至4日,信息确认的截止时间为11月7日17时。报名网址为www.jseea.cn或gk.jseea.cn。

2.哪些人员可以参加高考报名?

答:(1)具有我省户籍且同时符合下列条件的人员,可以申请报名:①遵守中华人民共和国宪法和法律;②高级中等教育学校毕业或具有同等学力;③身体状况符合相关要求。

(2)非我省户籍的来苏务工就业人员随迁子女(以下简称“随迁子女”)申请在我省参加高考的,除符合上述条件外,还须同时具备以下条件:①在我省取得普通高中学籍并有完整的普通高中学习经历;②其监护人在我省有合法稳定职业、合法稳定住所(含租赁)。

(3)在我省定居并符合报名条件的外国人,持公安机关签发的《中华人民共和国外国人永久居留身份证》,可以申请报名。符合条件的港澳台籍考生,可以申请报名。

3.哪些人员不能参加高考报名?

答:下列人员不得报名:

(1)具有普通高等学历教育资格的高校在校生,或已被普通高校录取并保留入学资格的学生;

(2)高级中等教育学校非应届毕业的在校生;

(3)在高级中等教育阶段非应届毕业年份以弄虚作假手段报名并违规参加普通高校招生考试(包括全国统考、省级统考和高校单独组织的招生考试)的应届毕业生;

(4)因违反国家教育考试规定,被给予暂停参加高考处理且在停考期内的人员;

(5)因触犯刑法已被有关部门采取强制措施或正在服刑者。其中,未成年人按相关法律规定执行。

4.我省学籍的高级中等教育学校应届毕业生如何报名?

答:我省学籍的高级中等教育学校应届毕业生必须遵循“高考与合格性考试同一属地报名考试”的原则,在报名地市、县(市、区)招生考试机构指定的地点办理报名手续。

5.非我省学籍的我省户籍应届毕业生如何报名?

答:非我省学籍的我省户籍应届毕业生,在其户籍所在市、县(市、区)招生考试机构指定的地点办理报名手续。在报名开始前,一律先由市、县(市、区)招生考试机构指定的专人进行资格审核,审核通过后才能报名。非我省学籍的我省户籍应届毕业生报名时,须提供当地教育行政部门出具的学籍卡和实际就读证明等佐证材料。

6.往届生、社会考生如何报名?

答:往届生、社会考生,在其户籍所在市、县(市、区)招生考试机构指定的地点办理报名手续。在报名开始前,一律先由专人进行资格审核,审核通过后才能报名。往届生、社会考生须提供毕业证等有关证件。已被普通高校录取而未报到或报到后退学的考生,报名时必须上交有关高校的录取通知书或提供退学证明。

7.在我省就读的随迁子女如何报名?

答:随迁子女考生须由考生本人向现就读中学提交《2024年来苏务工就业人员随迁子女高考报名申请表》,由现就读中学汇总后报就读中学所属教育行政部门和县(市、区)招生考试机构,经审核通过后方可完成报名手续。报名时还须提供以下证明材料:(1)身份证明。考生本人二代身份证和户口簿的原件及复印件。(2)稳定住所证明。考生本人或其监护人的房屋产权证、房屋买卖合同、租赁合同,或考生和其监护人在我省的暂住证(居住证)等证明材料的原件和复印件。(3)监护人就业证明。监护人在我省的就业单位或所在社区(村委会)出具的就业证明原件。

8.在我省定居的外国人、港澳台籍考生以及其他非普通高中应届毕业生等,如何报名?

答:在我省定居的外国人、港澳台籍考生以及其他非普通高中应届毕业生等,在报名开始前,一律先由专人进行资格审核,审核通过后才能报名。

9.考生的报考科类有哪些?

答:考生的报考科类分为普通类、体育类和艺术类。

10.2024年普通高考考试科目有哪些?

答:2024年我省普通高考实行“3+1+2”模式。其中“3”是指统一高考的语文、数学、外语3门科目;“1”是指考生首选科目在物理、历史两门中选择1门;“2”是指考生再选科目在思想政治、地理、化学、生物4门中选择2门。

语文、数学、外语3门统考科目采用全国统一命题试卷,选择性考试科目由我省自行组织命题。

11.高考文化总成绩是如何组成的?

答:高考总分值为750分,由全国统一高考的语文、数学、外语3个科目成绩和考生选择的3门学业水平选择性考试科目成绩组成。

语文、数学、外语3门统考科目,每门150分,其中外语科目含听力考试30分。各科均以原始分计入考生总分。

3门选择性考试科目,每门100分。其中,物理、历史以原始分计入总分,其余4门科目(思想政治、地理、化学、生物)以等级分计入总分。

12.选择性考试科目组合有哪些?

答:选择性考试科目有12种组合,具体如下:

13.考生选科时须参考2024年拟在江苏招生的普通高校本科专业选考科目要求,在哪查看?

答:从2024年起,普通高校本科专业选考科目要求按教育部2021年新修订的《普通高校本科招生专业选考科目要求指引(通用版)》执行。省教育考试院已于2022年1月在网站发布了2024年拟在江苏招生的普通高校本科专业选考科目要求(https://www.jseea.cn/webfile/index/index_zkxx/2022-01-18/27031.html),请考生登录查看。2024年在我省实际招生的高校、专业、计划及选考科目要求,以省教育考试院公布的2024年招生计划专刊为准。

14.综合素质评价有哪些内容?

答:综合素质评价内容分为思想品德、学业水平、身心健康、艺术素养、社会实践、自我认识与生涯规划六个方面。

思想品德主要考察学生在爱党爱国、理想信念、诚实守信、仁爱友善、责任义务、安全防范等方面的认知与表现。

学业水平主要考察学生各门课程基础知识、基本技能掌握情况以及运用知识解决问题的能力等。

身心健康主要考察学生的健康生活方式、体育锻炼习惯、身体机能、运动技能和心理素质等。

艺术素养主要考察学生对艺术的审美感受、理解、鉴赏和表现的能力。

社会实践主要考察学生的创新素养和在社会生活中动手操作、劳动技能、体验经历等情况。

自我认识与生涯规划主要考察学生加强自我认知、树立专业志向、学会选择课程、实现主动发展等情况。

15.综合素质评价在高校招生录取中有何作用?

答:综合素质评价是高校招生录取的重要参考。高校根据学校办学特色和人才培养要求,制定科学规范的高中学生综合素质评价使用办法,在招生章程中明确,并提前向社会公布,评价结果作为招生录取的重要参考。在考生分数相同时,可作为优先录取和优先安排专业的依据。

16.哪些考生可申请享受照顾政策?

答:(1)有下列情形之一的考生,在其文化统考成绩总分的基础上增加一定分数投档;达到高校投档条件的,由高校审查决定是否录取。同一考生如符合多项增加分数投档条件的,只能取其中幅度最大的一项分值,且不得超过20分。所有高考加分项目及分值均不得用于高校不安排分省招生计划的艺术类专业、高水平运动队、高校专项计划等招生项目。

①烈士子女,录取时加20分投档。

②在服役期间荣立二等功以上或被战区(原大军区)以上单位授予荣誉称号的退役军人,录取时加20分投档。

③归侨、华侨子女、归侨子女和台湾省籍考生(含台湾户籍考生),录取时加5分投档。

④自主就业的退役士兵,录取时加10分投档。

(2)符合下列条件之一,达到有关高校投档要求的,在与其他考生同等条件下优先录取:

平时荣获二等功或者战时荣获三等功以上奖励军人的子女,一至四级残疾军人的子女,因公牺牲军人的子女,驻国家确定的三类以上艰苦边远地区和西藏自治区、解放军总部划定的二类以上岛屿工作累计满20年军人的子女,在国家确定的四类以上艰苦边远地区或者解放军总部划定的特类岛屿工作累计满10年军人的子女,在飞或停飞不满1年或达到飞行最高年限空勤军人的子女,从事舰艇工作满20年军人的子女,在航天和涉核岗位工作累计满15年军人的子女,公安英模和因公牺牲、一级至四级因公伤残公安民警子女,退出部队现役的考生,残疾人民警察,经共青团中央青年志愿者守信联合激励系统认定获得5A级青年志愿者的考生,受到市级以上人民政府或省级以上部门表彰的见义勇为人员或其子女。

国家综合性消防救援队伍人员及其子女参加全国统考录取的,参照军人有关优待政策执行。

17.如何申请享受照顾政策?

答:符合照顾政策的考生须由本人申请,认真填写《江苏省2024年普通高校招生享受照顾政策考生申请表》,按规定流程完成相应职能部门资格审核,并于2023年12月31日前连同相关证明材料交高考报名点。逾期不予受理。

18.网上报名的主要流程如何?

答:(1)信息填报

考生须在规定时间内凭身份证、考籍号登录网上报名系统,根据自身实际情况和填报要求如实填报相关信息,并立即网上提交。考生网上提交报名信息时,网上报名系统将对考生报名信息进行数据逻辑校验,如果出现警告或提示信息,说明考生填报的栏目信息有误或有关成绩不符合要求,考生必须按警告或提示的内容仔细检查所填报栏目并进行修改,直至正确为止。

(2)网上支付

考生报名信息网上提交成功后,系统将根据考生实际所报考科目自动生成应缴纳报名考试费金额,考生可通过网银、支付宝、微信等方式,按照核定金额支付报名考试费。网上支付成功后,考生方可到规定的报名点签字确认报考信息。

报考艺术类专业省统考的考生,还须单独支付相应的报名考试费。

(3)信息确认

网上支付成功的考生,各报名点统一打印考生报名信息确认表,考生须在规定的时间内到规定的报名点仔细核对本人的报名信息,核对无误后,由考生本人在报名信息确认表上亲笔签字确认。报名信息确认截止时间为11月7日17时。

19.考生应如何正确填报户籍信息?

答:考生务必核准本人最新户籍信息,并确保与公安户籍信息一致。如考生户籍调整,须及时申请修改报名时填报的信息。如因填写错误或户籍信息更新不及时,导致后期不能填报相关志愿,以及由此引起的其他遗留问题均由考生本人负责。

20.网上报名成功后,可以修改报考信息吗?

答:考生报名信息网上提交成功后,在打印信息确认表之前,考生可凭密码重新上网修改自己所填的报名信息。考生报名信息一经打印确认,任何人不得擅自更改。如因特殊情况确需修改信息的,由考生本人向报名点提出申请,经批准后,由报名点进行修改,并须重新打印后进行确认。

21.体育类、艺术类考生高考文化考试科目有哪些?

答:我省体育类、艺术类考生的高考文化考试科目与普通类考生一致,实行“3+1+2”模式。其中“3”是指统一高考的语文、数学、外语3门科目;“1”是指考生首选科目在物理、历史两门中选择1门;“2”是指考生再选科目在思想政治、地理、化学、生物4门中选择2门。

22.体育类、艺术类考生如何进行专业考试报名?

答:报考体育类、艺术类专业考试的考生须在高考报名时一并填报体育类或艺术类专业考试相关信息。

23.2024年艺术类专业省统考如何报名?

答:我省2024年普通高校招生艺术类专业省统考报名与2024年高考报名同步进行。从2024年起,我省开设音乐、舞蹈、表(导)演、播音与主持、美术与设计和书法等6类省统考,考生可报考上述1类或多类。

报考省统考的考生须于11月1日至7日按照报考类别分别进行省统考专业考试报考信息确认和缴费,截止时间为11月7日17时。考生完成网上支付后,须返回系统查询缴费状态,当缴费状态为“已支付”时方可打印专业考试信息确认表。报名结束后,考生须在规定的时间内自行上网打印专业考试通知书。考生凭相应的专业考试通知书和本人身份证参加省统考专业考试。

24.音乐类专业省统考如何填报报名信息?

答:音乐类专业省统考分音乐表演、音乐教育两个方向。其中音乐表演方向仅设主项(声乐或器乐),无副项;音乐教育方向设主项(声乐或器乐)和副项(器乐或声乐),主项和副项须不同。报名时,考生可兼报音乐表演和音乐教育两个方向。兼报音乐表演和音乐教育的考生,其两个方向的主项须相同,相同考试科目只考1次,考试成绩互认(按相应的分值比例折算)。报考方向和主项一经选定,不得修改。

25.表(导)演类专业省统考如何填报报名信息?

答:表(导)演类专业省统考分为戏剧影视表演、服装表演和戏剧影视导演3个方向。报名时,考生可兼报戏剧影视表演、服装表演、戏剧影视导演方向。兼报戏剧影视表演和戏剧影视导演的考生,相同考试科目只考1次,考试成绩互认(按相应的分值比例折算)。报考方向一经选定,不得修改。

26.报考戏曲类省际联考的考生如何填报报名信息?

答:根据教育部有关规定,戏曲类省际联考由有关省级教育行政部门、招生考试机构、戏曲类本科专业招生高校共同组织实施,考试成绩用于戏曲类专业的招生录取。戏曲类本科专业实行省际联考后,招生高校不再组织其他考试。

实行省际联考的高校戏曲类本科专业包括音乐表演(戏曲音乐)、作曲与作曲技术理论(戏曲音乐)、表演(戏曲表演)、戏剧影视导演(戏曲导演)等。每个专业或剧种(方向)在全国设置一个考点,相关考生均可申请参加考试。高校戏曲类专科专业不再单独组织省际联考,由招生高校自行选择对应到戏曲类省际联考或省统考相应类别,并及时向考生公布。

报考戏曲类省际联考的考生,在高考报名时须选择“戏曲类省际联考”,高考报名结束后按照组考高校要求参加报名和考试。

27.报考艺术类专业校考的考生报名时还需注意什么?

答:校考的报名时间、地点和要求由招生高校确定,考生根据招生高校的要求完成报名手续。报考有关院校艺术类专业校考的考生,如其所报考专业是省统考涵盖专业,须根据江苏省及招生高校的要求,参加相关专业省统考且省统考成绩合格,方能按招生院校的录取规则参加录取。2024年江苏省普通高校招生艺术类专业省统考涵盖专业范围按《关于公布2024年江苏省普通高校招生艺术类专业省统考涵盖专业范围的通知》(苏教考招〔2023〕1号)执行。

28.考生报考学业水平选择性考试科目有什么要求?

答:考生所选的选择性考试科目,其所选科目的学业水平合格性考试成绩达到合格后,方可参加该科目的选择性考试。

29.意向参加2024年高职院校提前招生的考生,对其合格性考试有何要求?

答:凡意向参加2024年高职院校提前招生的考生,须取得语文、数学、外语、思想政治、历史、地理、物理、化学、生物、信息技术10门科目的合格性考试成绩。考生若未取得上述10门科目的合格性考试成绩,应报名参加相应科目考试。考生若对已取得的合格性考试成绩不满意的,可报名相应科目的考试。

扬子晚报/紫牛新闻记者 杨甜子

校对 王菲



在前面

今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受。这么好的光阴怎么浪费,睡觉、吃饭、打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完。

这篇文章比较基础,在国庆期间的业余时间写的,这几天又完善了下,力求把更多的前端所涉及到的关于文件上传的各种场景和应用都涵盖了,若有疏漏和问题还请留言斧正和补充。

自测读不读

以下是本文所涉及到的知识点,break or continue ?

  • 文件上传原理
  • 最原始的文件上传
  • 使用 koa2 作为服务端写一个文件上传接口
  • 单文件上传和上传进度
  • 多文件上传和上传进度
  • 拖拽上传
  • 剪贴板上传
  • 大文件上传之分片上传
  • 大文件上传之断点续传
  • node 端文件上传

原理概述

原理很简单,就是根据 http 协议的规范和定义,完成请求消息体的封装和消息体的解析,然后将二进制内容保存到文件。

我们都知道如果要上传一个文件,需要把 form 标签的enctype设置为multipart/form-data,同时method必须为post方法。

那么multipart/form-data表示什么呢?

multipart互联网上的混合资源,就是资源由多种元素组成,form-data表示可以使用HTML Forms 和 POST 方法上传文件,具体的定义可以参考RFC 7578。

multipart/form-data 结构

看下 http 请求的消息体



  • 请求头:

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryDCntfiXcSkPhS4PN 表示本次请求要上传文件,其中boundary表示分隔符,如果要上传多个表单项,就要使用boundary分割,每个表单项由———XXX开始,以———XXX结尾。

  • 消息体- Form Data 部分

每一个表单项又由Content-Type和Content-Disposition组成。

Content-Disposition: form-data 为固定值,表示一个表单元素,name 表示表单元素的 名称,回车换行后面就是name的值,如果是上传文件就是文件的二进制内容。

Content-Type:表示当前的内容的 MIME 类型,是图片还是文本还是二进制数据。

解析

客户端发送请求到服务器后,服务器会收到请求的消息体,然后对消息体进行解析,解析出哪是普通表单哪些是附件。

可能大家马上能想到通过正则或者字符串处理分割出内容,不过这样是行不通的,二进制buffer转化为string,对字符串进行截取后,其索引和字符串是不一致的,所以结果就不会正确,除非上传的就是字符串。

不过一般情况下不需要自行解析,目前已经有很成熟的三方库可以使用。

至于如何解析,这个也会占用很大篇幅,后面的文章在详细说。

最原始的文件上传

使用 form 表单上传文件

在 ie时代,如果实现一个无刷新的文件上传那可是费老劲了,大部分都是用 iframe 来实现局部刷新或者使用 flash 插件来搞定,在那个时代 ie 就是最好用的浏览器(别无选择)。

DEMO



这种方式上传文件,不需要 js ,而且没有兼容问题,所有浏览器都支持,就是体验很差,导致页面刷新,页面其他数据丢失。

HTML

 <form method="post" action="http://localhost:8100" enctype="multipart/form-data">

        选择文件:
            <input type="file" name="f1"/> input 必须设置 name 属性,否则数据无法发送<br/>
<br/>
            标题:<input type="text" name="title"/><br/><br/><br/>

        <button type="submit" id="btn-0">上 传</button>

</form>

复制代码

文件上传接口

服务端文件的保存基于现有的库koa-body结合 koa2实现服务端文件的保存和数据的返回。

在项目开发中,文件上传本身和业务无关,代码基本上都可通用。

在这里我们使用koa-body库来实现解析和文件的保存。

koa-body 会自动保存文件到系统临时目录下,也可以指定保存的文件路径。



然后在后续中间件内得到已保存的文件的信息,再做二次处理。

  • ctx.request.files.f1 得到文件信息,f1为input file 标签的 name
  • 获得文件的扩展名,重命名文件

NODE

/**
 * 服务入口
 */
var http = require('http');
var koaStatic = require('koa-static');
var path = require('path');
var koaBody = require('koa-body');//文件保存库
var fs = require('fs');
var Koa = require('koa2');

var app = new Koa();
var port = process.env.PORT || '8100';

var uploadHost= `http://localhost:${port}/uploads/`;

app.use(koaBody({
    formidable: {
        //设置文件的默认保存目录,不设置则保存在系统临时目录下  os
        uploadDir: path.resolve(__dirname, '../static/uploads')
    },
    multipart: true // 开启文件上传,默认是关闭
}));

//开启静态文件访问
app.use(koaStatic(
    path.resolve(__dirname, '../static') 
));

//文件二次处理,修改名称
app.use((ctx) => {
    var file = ctx.request.files.f1;//得道文件对象
    var path = file.path;
    var fname = file.name;//原文件名称
    var nextPath = path+fname;
    if(file.size>0 && path){
        //得到扩展名
        var extArr = fname.split('.');
        var ext = extArr[extArr.length-1];
        var nextPath = path+'.'+ext;
        //重命名文件
        fs.renameSync(path, nextPath);
    }
    //以 json 形式输出上传文件地址
    ctx.body = `{
        "fileUrl":"${uploadHost}${nextPath.slice(nextPath.lastIndexOf('/')+1)}"
    }`;
});

/**
 * http server
 */
var server = http.createServer(app.callback());
server.listen(port);
console.log('demo1 server start ......   ');
复制代码

CODE

https://github.com/Bigerfe/fe-learn-code/