在河南省专业技术人员公共服务平台”登陆后找到证书下载后自行打印。
考核认定程序:
1个人申报。凡符合条件的人员均可自主申报(有岗位结构比例限制的单位,须在岗位结构比例内申报),申报人须按要求提供有关材料和证件。
2组织审核。申报人员按照属地管理原则,在省辖市、省直管县(市)及以下的企业、事业单位专业技术人员由省辖市、省直管县(市)职改部门审核;省直单位专业技术人员由本单位人事部门资格审核;考核认定委员会负责资格复审,省人力资源社会保障厅负责资格抽审。
3面试答辩。申报人员须参加面试答辩,面试答辩要重点考核申报人的专业理论、从业经历、工作实践情况和实际贡献,具体答辩办法参考《河南省工程系列高级专业技术职务任职资格评审答辩考核办法》
4专家评议。考核认定委员会对申报人进行考核评价,评价在面试答辩的基础上,重点考核申报人的业绩和成果等。
5公示。对考核认定通过人员及时向社会公示,接受社会监督
篇幅所限本文只写了MySQL25题,像其他的Redis,SSM框架,算法,计网等技术栈的面试题后面会持续更新,个人整理的1000余道面试八股文会放在文末给大家白嫖,最近有面试需要刷题的同学可以直接翻到文末领取。
如果表使用自增主键,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页。如果使用非自增主键(如果身份证号或学号等),由于每次插入主键的值近似于随机,因此每次新纪录都要被插到现有索引页得中间某个位置, 频繁的移动、分页操作造成了大量的碎片,得到了不够紧凑的索引结构,后续不得不通过OPTIMIZE TABLE(optimize table)来重建表并优化填充页面。
Server层按顺序执行sql的步骤为:
简单概括:
可以分为服务层和存储引擎层两部分,其中:
服务层包括连接器、查询缓存、分析器、优化器、执行器等 ,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。
存储引擎层负责数据的存储和提取 。其架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常用的存储引擎是InnoDB,它从MySQL 555版本开始成为了默认的存储引擎。
Drop、Delete、Truncate都表示删除,但是三者有一些差别:
Delete 用来删除表的全部或者一部分数据行,执行Delete之后,用户需要提交(commmit)或者回滚(rollback)来执行删除或者撤销删除,会触发这个表上所有的delete触发器。
Truncate 删除表中的所有数据,这个操作不能回滚,也不会触发这个表上的触发器,TRUNCATE比Delete更快,占用的空间更小。
Drop 命令从数据库中删除表,所有的数据行,索引和权限也会被删除,所有的DML触发器也不会被触发,这个命令也不能回滚。
因此,在不再需要一张表的时候,用Drop;在想删除部分数据行时候,用Delete;在保留表而删除所有数据的时候用Truncate。
隔离级别脏读不可重复读幻影读 READ-UNCOMMITTED 未提交读 READ-COMMITTED 提交读 REPEATABLE-READ 重复读 SERIALIZABLE 可串行化读
MySQL InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ (可重读)
这里需要注意的是 :与 SQL 标准不同的地方在于InnoDB 存储引擎在 REPEATABLE-READ(可重读)事务隔离级别 下使用的是 Next-Key Lock 锁 算法,因此可以避免幻读的产生,这与其他数据库系统(如 SQL Server)是不同的。所以 说InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读) 已经可以完全保证事务的隔离性要 求,即达到了 SQL标准的SERIALIZABLE(可串行化)隔离级别。
因为隔离级别越低,事务请求的锁越少,所以大部分数据库系统的隔离级别都是READ-COMMITTED(读取提交内 容):,但是你要知道的是InnoDB 存储引擎默认使用 REPEATABLE-READ(可重读)并不会有任何性能损失 。
InnoDB 存储引擎在分布式事务 的情况下一般会用到SERIALIZABLE(可串行化)隔离级别。
主要原因:B+树只要遍历叶子节点就可以实现整棵树的遍历,而且在数据库中基于范围的查询是非常频繁的,而B树只能中序遍历所有节点,效率太低。
文件与数据库都是需要较大的存储,也就是说,它们都不可能全部存储在内存中,故需要存储到磁盘上。而所谓索引,则为了数据的快速定位与查找,那么索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数,因此B+树相比B树更为合适。数据库系统巧妙利用了局部性原理与磁盘预读原理,将一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入,而红黑树这种结构,高度明显要深的多,并且由于逻辑上很近的节点(父子)物理上可能很远,无法利用局部性。
最重要的是,B+树还有一个最大的好处:方便扫库。
B树必须用中序遍历的方法按序扫库,而B+树直接从叶子结点挨个扫一遍就完了,B+树支持range-query非常方便,而B树不支持,这是数据库选用B+树的最主要原因。
B+树查找效率更加稳定,B树有可能在中间节点找到数据,稳定性不够。
B+tree的磁盘读写代价更低:B+tree的内部结点并没有指向关键字具体信息的指针(红色部分),因此其内部结点相对B 树更小。如果把所有同一内部结点的关键字存放在同一块盘中,那么盘块所能容纳的关键字数量也越多。一次性读入内存中的需要查找的关键字也就越多,相对来说IO读写次数也就降低了;
B+tree的查询效率更加稳定:由于内部结点并不是最终指向文件内容的结点,而只是叶子结点中关键字的索引,所以,任何关键字的查找必须走一条从根结点到叶子结点的路。所有关键字查询的路径长度相同,导致每一个数据的查询效率相当;
视图是一种虚拟的表,通常是有一个表或者多个表的行或列的子集,具有和物理表相同的功能 游标是对查询出来的结果集作为一个单元来有效的处理。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
而在 MySQL 中,恢复机制是通过回滚日志(undo log)实现的,所有事务进行的修改都会先记录到这个回滚日志中,然后在对数据库中的对应行进行写入。当事务已经被提交之后,就无法再次回滚了。
回滚日志作用:1)能够在发生错误或者用户执行 ROLLBACK 时提供回滚相关的信息 2) 在整个系统发生崩溃、数据库进程直接被杀死后,当用户再次启动数据库进程时,还能够立刻通过查询回滚日志将之前未完成的事务进行回滚,这也就需要回滚日志必须先于数据持久化到磁盘上,是我们需要先写日志后写数据库的主要原因。
InnoDB
MyISAM
总结
数据库并发会带来脏读、幻读、丢弃更改、不可重复读这四个常见问题,其中:
脏读 :在第一个修改事务和读取事务进行的时候,读取事务读到的数据为100,这是修改之后的数据,但是之后该事务满足一致性等特性而做了回滚操作,那么读取事务得到的结果就是脏数据了。
幻读 :一般是T1在某个范围内进行修改操作(增加或者删除),而T2读取该范围导致读到的数据是修改之间的了,强调范围。
丢弃修改 :两个写事务T1 T2同时对A=0进行递增操作,结果T2覆盖T1,导致最终结果是1 而不是2,事务被覆盖
不可重复读 :T2 读取一个数据,然后T1 对该数据做了修改。如果 T2 再次读取这个数据,此时读取的结果和第一次读取的结果不同。
第一个事务首先读取var变量为50,接着准备更新为100的时,并未提交,第二个事务已经读取var为100,此时第一个事务做了回滚。最终第二个事务读取的var和数据库的var不一样。
T1 读取某个范围的数据,T2 在这个范围内插入新的数据,T1 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。
T1 和 T2 两个事务都对一个数据进行修改,T1 先修改,T2 随后修改,T2 的修改覆盖了 T1 的修改。例如:事务1读取某表中的数据A=50,事务2也读取A=50,事务1修改A=A+50,事务2也修改A=A+50,最终结果A=100,事务1的修改被丢失。
T2 读取一个数据,T1 对该数据做了修改。如果 T2 再次读取这个数据,此时读取的结果和第一次读取的结果不同。
悲观锁,先获取锁,再进行业务操作,一般就是利用类似 SELECT … FOR UPDATE 这样的语句,对数据加锁,避免其他事务意外修改数据。当数据库执行SELECT … FOR UPDATE时会获取被select中的数据行的行锁,select for update获取的行锁会在当前事务结束时自动释放,因此必须在事务中使用。
乐观锁,先进行业务操作,只在最后实际更新数据时进行检查数据是否被更新过。Java 并发包中的 AtomicFieldUpdater 类似,也是利用 CAS 机制,并不会对数据加锁,而是通过对比数据的时间戳或者版本号,来实现乐观锁需要的版本判断。
分库与分表的目的在于,减小数据库的单库单表负担,提高查询性能,缩短查询时间。
通过分表 ,可以减少数据库的单表负担,将压力分散到不同的表上,同时因为不同的表上的数据量少了,起到提高查询性能,缩短查询时间的作用,此外,可以很大的缓解表锁的问题。分表策略可以归纳为垂直拆分和水平拆分:
水平分表 :取模分表就属于随机分表,而时间维度分表则属于连续分表。如何设计好垂直拆分,我的建议:将不常用的字段单独拆分到另外一张扩展表 将大文本的字段单独拆分到另外一张扩展表, 将不经常修改的字段放在同一张表中,将经常改变的字段放在另一张表中。对于海量用户场景,可以考虑取模分表,数据相对比较均匀,不容易出现热点和并发访问的瓶颈。
库内分表 ,仅仅是解决了单表数据过大的问题,但并没有把单表的数据分散到不同的物理机上,因此并不能减轻 MySQL 服务器的压力,仍然存在同一个物理机上的资源竞争和瓶颈,包括 CPU、内存、磁盘 IO、网络带宽等。
分库与分表带来的分布式困境与应对之策 数据迁移与扩容问题----一般做法是通过程序先读出数据,然后按照指定的分表策略再将数据写入到各个分表中。分页与排序问题----需要在不同的分表中将数据进行排序并返回,并将不同分表返回的结果集进行汇总和再次排序,最后再返回给用户。
不可重复读的重点是修改,幻读的重点在于新增或者删除。
视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询;不包含任何列或数据。使用视图可以简化复杂的 sql 操作,隐藏具体的细节,保护数据;视图创建后,可以使用与表相同的方式利用它们。
视图不能被索引,也不能有关联的触发器或默认值,如果视图本身内有order by 则对视图再次order by将被覆盖。
创建视图:create view xxx as xxxx
对于某些视图比如未使用联结子查询分组聚集函数Distinct Union等,是可以对其更新的,对视图的更新将对基表进行更新;但是视图主要用于简化检索,保护数据,并不用于更新,而且大部分视图都不可以更新。
B+tree的磁盘读写代价更低,B+tree的查询效率更加稳定 数据库索引采用B+树而不是B树的主要原因:B+树只要遍历叶子节点就可以实现整棵树的遍历,而且在数据库中基于范围的查询是非常频繁的,而B树只能中序遍历所有节点,效率太低。
B+树的特点
在最频繁使用的、用以缩小查询范围的字段,需要排序的字段上建立索引。不宜:1)对于查询中很少涉及的列或者重复值比较多的列 2)对于一些特殊的数据类型,不宜建立索引,比如文本字段(text)等。
如果一个索引包含(或者说覆盖)所有需要查询的字段的值,我们就称 之为“覆盖索引”。
我们知道在InnoDB存储引 擎中,如果不是主键索引,叶子节点存储的是主键+列值。最终还是要“回表”,也就是要通过主键再查找一次,这样就 会比较慢。覆盖索引就是把要查询出的列和索引是对应的,不做回表操作!
举例 :
学号姓名性别年龄系别专业 20020612李辉男20计算机软件开发 20060613张明男18计算机软件开发 20060614王小玉女19物理力学 20060615李淑华女17生物动物学 20060616赵静男21化学食品化学 20060617赵静女20生物植物学
主键为候选键的子集,候选键为超键的子集,而外键的确定是相对于主键的。
王一博。
自然堂官方宣布,新时代偶像王一博成为自然堂面膜的全球代言人。自然堂通过全网上百APP霸屏、电商平台102个点位全覆盖、47家店铺精准翻新来宣传这次代言。8月5日王一博生日当天,五城地标同时点亮为他庆生,众多粉丝前往现场打卡。
含义
抓住年轻一代的目光,是如今品牌营销的一个大趋势,与互联网共生的他们有更大的消费潜力,而对于品牌营销来说,这使得代言人的选择也有更个性化的要求,只有找到贴合品牌形象并能够代表它与消费者沟通的对象,才能真正实现代言人对品牌的赋能。从目前的话题热度来看,自然堂与王一博的此次合作,无疑选对了人,为品牌注入了全新的活力基因。
-自然堂
现在求职面试已经成了职场人经常要面对的问题。很多公司动不动就裁员,一些小公司过不了几年就在市面上消失了,然后员工又要去重新找工作。所以不管是一些职场新人,还是职场老人,他们总会面对各种各样的面试。
在这种情况下,有的公司就会趁着这个机会来搞一些欺骗求职者的勾当。而很多的求职者在被公司辞退之后,由于他们还有房贷车贷要还,他们还有孩子要养,他们的生活还要继续,所以他们就会着急找一份工作。但是在当前的大环境之下,面对僧多粥少的局面,很多人找工作又不是很顺利,甚至有的人几个月都找不到工作。于是在濒临崩溃的边缘,这些求职者就很容易被一些骗子公司给欺骗。
下面我们就来说说,在我们面试的时候,我们会遇到哪些招聘的骗局?
一、挂羊头卖狗肉,公司招聘的岗位和实际工作的岗位之间没有关系
我们经常会发现,有一些公司在招聘的时候,他们的招聘需求写的很高大上,他们动不动就招聘什么储备干部、XX经理、XX主管,然后给的薪水也动不动就是七八千,甚至一万多。很多求职者受到高薪的诱惑之后,他们就会去这些公司面试,而一面试就面试通过了。
等到他们去了这些公司以后,他们就会发现,他们所做的工作都是一些打杂的事情,公司之前在面试时和他们承诺的管理岗位一个都没有兑现。如果你去问公司是怎么回事,公司就会告诉你说让你先把下面的所有岗位都干一遍,等到你有了相关的工作经验以后,公司才会把你放到管理岗位上去;而之前说好的薪资和待遇,也并不像公司之前在招聘广告上所说的那样。公司和你签订的也只是一个口头协议。在这种情况下,有的人已经被他们公司洗脑,所以他们就会一直在那家公司干下去,等他们干了几个月发现问题的时候,他们才发现其实他们已经错过了更好的招聘单位和求职时间,同时他们在这家公司里面也没有拿到多少钱。
所以这要求广大的求职者在找工作的时候,一定要擦亮眼睛,不要被那些所谓的有高工资、看着很高大上的岗位给欺骗了。我们要清楚,对任何公司来说,他们首先要追求的是利益,是活下去,而他们为了活下去,他们就必须考虑成本,考虑招到真正的性价比很高的人才。在这种情况下,公司招聘的管理岗位一定不会太多,他们付给你的薪资待遇也不会太高,更会高得离谱。而那些不能及时识破这种诡计和诱惑的人,他们后面的发展就会很悲催了。
二、公司邀请你晚上去面试,同时面试的场所还是一些酒店或其他住宅区
我们知道,作为一家正规的公司来说,他们都有正规的办公场所,有自己专门的办公区域,同时他们在让求职者过去面试的时候,他们也会将面试安排在白天,然后告诉你在什么时间过去他们公司面试。
但是职场是个大江湖,林子大了什么鸟都有。我们经常会发现有的公司会邀请你晚上去公司面试,而且去面试的场所还不是一些公司办公楼,而是一些酒店或者是其他的一些家属区。
在这种情况下,我们就要提高警惕。有的人骗你去酒店面试,有可能他们就想骗财骗色,或者是想把你带到一些很陌生的地方,然后后面的事情就不好说了。
所以,面对这种情况的时候,你就一定要时刻提高警惕,在面试之前要先查清楚这些公司的真伪,面试也一定要在白天去合法的公司去面试。只有这样,你才不会进入别人的套路之中。
三、说的和做的不一样,用口头协议取代劳务合同,在工资构成上做手脚
在招聘的时候,我们会发现,有的公司是说一套做一套。他们在招聘现场会把公司说的很好,他们承诺你只要进入他们公司以后,公司就会给你开启很好的发展通道,公司也会有各种各样的培训机会,同时公司一定会给你买社保,买公积金。所以很多人就去他们公司面试并被录用了。但是,等到他们真正的进入这些公司工作以后,他们却发现其实事情并不像他们之前所宣传的那样。
你进入公司工作,他们是不会和你签署劳动合同,就算是你已经在这家公司工作了几周的时间,你问他们多久要跟你签劳务合同的时候,他们也会对你说让你放心,他们之前说的五险一金和工资待遇都会有,这劳务合同过段时间也会签。然后你就开始半信半疑的继续工作,等到你工作到月底的时候,你才发现,那些公司依然没有跟你签劳务合同。有的公司觉得只要你不去提醒他们,这件事就可能会蒙混过关。下次发工资时候,他们就会给你发少发工资和相关的福利待遇,到时候就算你和他们打官司,你也拿不出相应的证据,因为你没有跟他们签劳动合同,你跟他们只是签了一个口头的协议,而这个口头协议是根本证明不了什么的。
有的人就算是当时和这家公司签了一些劳务合同,但是他们也发现这些公司在他们的工资待遇上做了手脚。这些公司会把他们的工资分成几部分:基本工资、绩效工资、其他工资。公司会按照基本工资来给员工交社保,对于绩效工资,如果员工在当月表现不好,他就拿不到绩效工资。就算是当时来面试的时候公司承诺给你8000块钱,但是如果你的绩效工资拿不到,你的社保是按照基本工资来给你交,你一个月能拿到手的工资,也就只有四五千块钱。
所以这些公司就是想通过这样的方式来骗你进入他们的公司工作,来把你当做他们公司的廉价劳动力,当你在这家公司工作了几个月已逐渐识破了他们的这种阴谋之后,你就会发现其实一切都晚了。就算你此时再从公司辞职,这对他们来说并没有损失什么,他们依然是花费廉价劳动力来让你为他们公司打了几个月的工。而对于你来说,你却错过了很好的招聘时间,同时你的工资也比之前少拿了很多,这对你来说其实是百害而无一利的事情。
所以对求职者来说,当你在找工作时候,你就一定要擦亮自己眼睛,不要轻易的上了一些公司的贼船。
自然堂泛醇安瓶面膜是一种针对敏感肌肤设计的面膜,其宣传的重点是温和、安全、有效。该产品采用了独特的“一盒三瓶”设计,即一盒面膜配上三瓶精华液,以保证每次使用都是新鲜有效的。此外,该面膜还标榜无添加防腐剂、无香精、无酒精、无色素等,因此对敏感肌肤非常友好。
根据使用体验,自然堂泛醇安瓶面膜的质地非常贴肤,不会刺激皮肤,且保湿效果很好。许多用户都表示该产品的修护效果明显,能够快速舒缓肌肤不适,使肌肤变得更加亮泽、光滑。此外,该面膜还采用了独立真安瓶+面膜的两部曲护肤方式,能够加倍巩固吸收,提升美白效果。
然而,每个人的皮肤情况不同,对于某些人来说,该产品可能会有不同的效果。因此,我建议你在购买之前先查看其他用户的使用评价和产品成分,以确保它适合你的肤质和需求。
从品牌知名度以及产品定位上来看,丸美的档次更高一些,它的大多数产品都定位于中高端,价格确实更高,而且从用户的反馈来看,对使用效果也非常满意,能够充分达到产品所宣传的功能。相对来说自然堂这个品牌大部分产品主要是定位于中档,价格相对亲民,主打植物成分,因此很多敏感期的年轻女孩会更喜欢它的产品,一方面是因为价格实惠,另一方面也是因为对皮肤刺激小,用起来更放心。
丸美和自然堂哪个高档?
丸美档次更高一些。从品牌知名度以及产品的市场定位来看,丸美的整体档次相对来说更高,毕竟旗下的产品大部分都是中高端产品,售价相对自然堂来说会更高一点;而自然堂主打的就是中档价位的护肤产品,价格更加的实惠和亲民的,因此对于学生党、上班族来说更加的适合。
丸美和自然堂好坏没有绝对的答案,具体还是需要看哪一款产品以及使用者的年纪、皮肤情况等等。对于二十多岁的年轻人来说,自然堂产品带有的刺激性更小,都是植物精华成分,而且价格比较便宜所以认可度更高,但对于三四十岁的女性来说,丸美护肤品在抗衰、紧致肌肤方面的作用则更加的突出。
现代都市生活中的女人们是越来越重视自己的生活品质以及外貌形象了,出门势必需要好好打扮一番。可是我们生活的环境在不断的变化着,因此外出的时候需要做好隔离工作,那么自然也就需要一支隔离霜了。那么自然堂隔离霜怎么样?自然堂隔离霜好用吗?
1、效果如何
自然堂是中国公司,民族品牌,成立距今已经有十几年的历史了,旗下的产品有美容霜、冰肌水、隔离霜、粉底、睫毛膏等。自然堂隔离霜的品种并不多,大家一般购买的是呈现浅绿色的修颜美白隔离霜。根据其产品宣传册上说的具有隔离紫外线和灰尘的作用,减少有害物质对肌肤的伤害,能够使肌肤恢复细嫩状态,变得更有光彩,还能掩盖脸上的微小的皱纹,让人不易察觉。使用以后可以让肌肤变得白嫩,更加健康美丽。
那这款自然堂隔离霜效果怎么样呢?根据消费者反馈回来的信息,这款隔离霜香气浓郁,对于脸部的瑕疵遮掩的效果不太好,但是对于电磁辐射等隔离效果是不错的,也有美白的效果,涂上去可以让面部显得更加白皙。这款隔离霜的缺点是太过油腻,适合干性肌肤的人使用,不适合油性肌肤的人。
2、隔离霜的具体作用
1、完美底妆
在使用粉底画底妆之前,涂抹适量的隔离霜,能够让粉底在脸上更加的服帖自然。如果是直接在涂抹面霜之后使用粉底更容易让粉底飘着,特别是本身皮肤毛孔较大的人,粉底不仅不能自然隐藏毛孔,还容易使粉底飘着,给人感觉很假。
2、持久彩妆
隔离霜能够帮助让彩妆更加持久。我们知道化妆最尴尬的事情就是脱妆。皮肤干燥的时候,容易出现彩妆脱落的情况,使用一款保湿型的隔离霜,或者是使用补水乳液再加上隔离霜能够避免这个尴尬,让彩妆更加持久。
3、隔离污染
隔离霜能够在皮肤表面形成一层保护膜,避免皮肤直接长时间暴露在空气中,接触过多的灰尘、污染,更好的保护肌肤。
4、隔离辐射
我们在使用电脑、看电视的时候,电磁辐射很容易汇集较多的灰尘、污垢,静电也容易将大量的灰尘、粉尘,涂抹隔离霜,能够帮助皮肤减少这些辐射污染对皮肤的直接伤害。
5、改善肤色
隔离霜能够帮助改善肤色,平时比较容易出现的肤色暗黄、肤色不均等,_使用隔离霜来进行调整。一般隔离霜紫色款是调整暗黄皮肤的、绿色款可以改善红血丝或者是面色泛红的、蓝色可以增加皮肤光泽等等。
6、轻度防晒
隔离霜一般都具有防晒效果,但是它的防晒效果有限,一般只适合待在室内的人防晒使用。如果是需要外出的话,还是需要使用专业的防晒霜。
CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。可以用简单的方式满足很多常见的复杂的布局需求。它的优势在于开发人员只是声明布局应该具有的行为,而不需要给出具体的实现方式。浏览器会负责完成实际的布局。该布局模型在主流浏览器中都得到了支持。
采用flex布局的元素,成为flex容器。它的所有子元素自动成为容器成员,称为flex项目。常用的,设置到容器上的属性有:
设置到项目上的属性:
(Block Formatting Context)块级格式化上下文。BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之也如此并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
上述方法都可以创建BFC,但是会带来一些负面影响:
::before是css3的写法,:before是css2的写法,用来设置对象前的内容
:before的兼容性要比::before好
更准确的说法
1、transition 是过渡,是样式值的变化的过程,只有开始和结束;animation 其实也叫关键帧,通过和 keyframe 结合可以设置中间帧的一个状态;
2、animation 配合 @keyframe 可以不触发时间就触发这个过程,而 transition 需要通过 hover 或者 js 事件来配合触发;
3、animation 可以设置很多的属性,比如循环次数,动画结束的状态等等,transition 只能触发一次;
4、animation 可以结合 keyframe 设置每一帧,但是 transition 只有两帧;
常规方法
不需要使用transform属性时
webkit内核
参考链接:
CSS实现不换行/自动换行/文本超出隐藏显示省略号
object-fit CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框。这个CSS属性可以达到最佳最完美的居中自动剪裁的功能
@import规则一定要先于除了@charset的其他任何CSS规则。
不推荐使用@import:
因为浏览器的兼容的问题,不同浏览器有些标签的默认值是不同的,如果没有CSS初始化往往会出现浏览器之间的页面显示差异。
伪元素和伪类的区别总结
css继承指的是被包在内部的标签将拥有外部标签的样式性,即子元素可以继承父元素的属性。
相关链接:
CSS 继承,哪些属性能继承,哪些不能
z-index可以改变元素层叠顺序,z-index较大的会叠加在z-index较小的元素上方。z-index值相同时,则按照文档流顺序,后面的覆盖前边的。
px就是pixel的缩写,意为像素。px就是一张最小的一个点,一张位图就是千千万万的这样的点构成的,比如常常听到的电脑像素是1024x768的,表示的是水平方向是1024个像素点,垂直方向是768个像素点。注意css中的1px并不一定是物理像素的一个像素块,需要根据DPR计算,对应多少物理像素块
设备像素比:dpr = 物理像素 / 逻辑像素(px),例如,iPhone6的dpr为2,物理像素750(x轴),则它的逻辑像素为375
参考物是父元素的font-size,具有继承的特点。如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。
css3新单位,相对于根元素html(网页)的font-size,不会像em那样,依赖于父元素的字体大小,而造成混乱。
css3新单位,viewpoint width的缩写,视窗宽度,1vw等于视窗宽度的1%。举个例子:浏览器宽度1200px, 1 vw = 1200px/100 = 12 px。
1英寸(inch)=254厘米(cm)
手机对角线的长度换算成英寸
屏幕横向和纵向的像素点
1px即代表一个物理像素点/像素块
PPI,是每英寸可以显示的像素点的英文缩写。如果说上面分辨率是一个质量总量的概念,那么,ppi就是密度的概念。我们可以通过屏幕的像素总量除以屏幕大小来计算屏幕的PPI,公式如下: a:横向像素数量,b:纵向像素数量,c:屏幕尺寸(英寸)
1px与多少厘米之间是不能直接划等号的,需要看分辨率。
一般电脑的像素分辨率是72ppi,计算公式: (((12 + 12)05)/72)254 ,此时1px=00498cm,1cm=25px;
很多手机是300ppi,计算公式: (((12 + 12)05)/300)254 ,此时1px=00119cm。
参考链接:
画一条05px的线
在继承性上:
一开始针对低版本的浏览器构建页面,满足最基本的功能,再针对高级浏 览器进行效果,交互,追加各种功能以达到更好用户体验,换句话说,就是以最低要求,实现最基础功能为基本,向上兼容。以css为例,以下这种写法就是渐进增强。
一开始针对一个高版本的浏览器构建页面,先完善所有的功能。然后针对各个不同的浏览器进行测试,修复,保证低级浏览器也有基本功能 就好,低级浏览器被认为“简陋却无妨 (poor, but passable)” 可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较 大的错误之外,其它的差异将被直接忽略。也就是以高要求,高版本为基准,向下兼容。同样以css为例,优雅降级的写法如下。
渐进增强,开发时间长,成本高,优雅降级,节约成本,开发周期短。
欢迎分享,转载请注明来源:品搜搜测评网