当前位置: 首页 > Web前端 > CSS

前端面试资源(二)

时间:2023-03-30 15:03:54 CSS

.outer{width:215px;高度:100px;边框:1px纯红色;溢出:自动;位置:相对;/*修复错误*/}.inner{width:100px;高度:200px;背景色:紫色;position:relative;}web语义Web语义是指通过HTML标签来表达页面所包含的信息,包括HTML标签的语义和CSS命名。HTML标签语义化是指:通过使用包含语义的标签(如h1-h6)恰当表达文档结构css命名语义化是指:在html标签中加入有意义的类,id补充未表达的语义,如Microformat增加了一个符合规则的类来描述为什么信息需要语义化:去除样式后,页面呈现出清晰的结构。盲人使用屏幕阅读器可以更好地阅读搜索引擎,更好地理解页面,有利于团队项目的可持续运作和包容。维护前端需要注意哪些title、description、keyword对于SEO来说是合理的:三项在搜索中的权重逐一降低,title值只能强调重点.重要的关键词出现次数不超过两次,放在最前面。不同页面的标题应该是不同的;描述高度概括页面内容,长度合适,关键词不能堆砌太多,不同页面的描述不同;keywords列出重要的关键字,可以是符合W3C规范的语义HTML代码:语义代码让搜索引擎很容易理解网页的重要内容。将HTML代码放在顶部:搜索引擎从上到下抓取HTML。有些搜索引擎对抓取的长度有限制,以保证抓取到重要的内容。不使用js输出重要内容:爬虫不会执行js获取内容少用iframe:搜索引擎不会爬取iframe中的内容非装饰性图片必须加alt提高网站速度:网站速度是搜索的重要指标enginerankingweb开发中session跟踪的几种方法哪个cookiesessionurlrewrite隐藏了inputip地址?的title和alt有什么区别?标题是全局属性之一,用于为元素提供额外的咨询信息。通常在鼠标悬停在元素上时显示。alt是的特有属性,相当于对图片内容的描述,用于图片无法加载时显示图片,以及用屏幕阅读器读取图片。它可以提高图片的可访问性。除了纯粹的装饰图片,必须设置有意义的值,搜索引擎会重点分析。什么是doctype,常见doctype的例子及其特点声明必须在HTML文档的头部,在标签之前,HTML5不区分大小写声明不是HTML标签,它用于告知浏览器当前HTML版本的说明现代浏览器的HTML布局引擎检查文档类型以决定是以兼容模式还是标准模式呈现文档,并且一些浏览器具有接近标准的模型。在HTML4.01中,声明指向一个DTD。由于HTML4.01基于SGML,DTD指定标记规则以确保浏览器正确呈现内容。HTML5不是基于SGML,因此不需要指定DTDHTTP请求消息的结构。rfc2616中定义:第一行是Request-Line,包括:请求方法、请求URI、协议版本,CRLF第一行之后是几行请求头,包括general-header、request-header或entity-header,每行以CRLF结束请求头和消息实体之间有CRLF分隔。根据实际需求,可以包含消息实体。请求消息的示例如下:GET/Protocols/rfc2616/rfc2616-sec5.htmlHTTP/1.1Host:www.w3.orgConnection:keep-aliveCache-Control:max-age=0Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8User-Agent:Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/35.0.1916.153Safari/537.36Referer:https://www.google.com.hk/Accept-Encoding:gzip,deflate,sdchAccept-Language:zh-CN,zh;q=0.8,en;q=0.6Cookie:authorstyle=yesIf-None-Match:"2cc8-3e3073913b100"If-Modified-Since:Wed,01Sep200413:24:52GMTname=qiu&age=25HTTP响应消息的结构在rfc2616中定义:第一行是状态行包括:HTTP版本,状态码,状态描述,后面跟着一个CRLF第一行和几行响应头,包括:通用头,响应头部分,实体头响应头和响应实体之间用CRLF空行隔开结尾可能的消息实体响应示例如下:HTTP/1.1200OKDate:Tue,08Jul201405:28:43GMTServer:Apache/2Last-Modified:Wed,01Sep200413:24:52GMTETag:"40d7-3e3073913b100"Accept-Ranges:bytesContent-Length:16599Cache-Control:max-age=21600Expires:Tue,08Jul201411:28:43GMTP3P:policyref="http://www.w3.org/2001/05/P3P/p3p.xml“内容类型:文本/html;charset=iso-8859-1{"name":"qiu","age":25}CSS选择器有哪些*通用选择器:选择所有元素,不参与计算优先级,兼容IE6+#Xid选择器:选择id值为X的元素,兼容性:IE6+.X类选择器:选择类包含X的元素,兼容性:IE6+XY后代选择器:在满足X选择器的后代节点中选择满足Y选择器的元素,compatibility:IE6+Xelementselector:selectelementslabeledwithX,compatibility:IE6+:link,:visited,:focus,:hover,:activelinkstate:选择特定状态的链接元素,orderLoVeHAte,compatibility:IE4+X+Y直接兄弟选择器:在X之后的第一个兄弟节点中选择满足Y选择器的元素,兼容性:IE7+X>Y子选择器:在X的子元素中选择满足Y选择器的元素,兼容性:IE7+X~Y兄:选择所有满足Y选择器的元素选择X之后的所有兄弟节点,兼容:IE7+[attr]:选择所有设置了attr属性的元素,兼容IE7+[attr=value]:选择属性值正好为value的元素[attr~=value]:选择属性值以空格分隔,其中一个值恰好是value的元素[attr|=value]:选择属性值以value或value-开头的元素[attr^=value]:选择属性值开头的元素startswithvalue[attr$=value]:选择属性值以[a]的value元素结尾的元素ttr*=value]:选择属性值中包含value的元素[:checked]:选择单选框、复选框、下拉框选中状态的元素,兼容性:IE9+X:after,X::after:after伪元素,选择元素的虚拟子元素(元素的最后一个子元素),在CSS3::中表示伪元素兼容性:after是IE8+,::after是IE9+:hover:鼠标悬停状态下的元素,兼容aTagIE4+,IE7+的所有元素:not(selector):选择不匹配选择器的元素。不参与优先级计算,兼容:IE9+::first-letter:伪元素,选择块元素第一行首字母,兼容IE5.5+::first-line:伪元素,selectblock元素首字母第一行,兼容IE5.5+:nth-child(an+b):伪类,选择前面有an+b-1个兄弟节点的元素,其中n>=0,compatibilityIE9+:nth-last-child(an+b):伪类型,选择后面有an+b-1个兄弟节点的元素wheren>=0,compatibilityIE9+X:nth-of-type(an+b):伪类型,X为选择器,解析得到元素标签,选择前面有+b-1个标签相同的兄弟节点的元素。兼容IE9+X:nth-last-of-type(an+b):伪类,X为选择器,解析得到元素标签,具有an+b-1个同标签兄弟节点的元素它后面被选中。兼容IE9+X:first-child:伪类,选择满足X选择器的元素,该元素是其父节点的第一个子元素。兼容IE7+X:last-child:伪类,选择满足X选择器的元素,该元素为其父节点的最后一个子元素。兼容IE9+X:only-child:伪类,选择满足X选择器的元素,且该元素是其父元素的唯一子元素。兼容IE9+X:only-of-type:伪类,选择X选择的元素,解析得到元素标签,如果元素没有同类型的兄弟节点则选择。兼容IE9+X:first-of-type:伪类,选择X选中的元素,解析得到元素标签,如果元素是该类型元素的第一个兄弟。选择它。兼容性什么是IE9+csssprite,有什么优缺点概念:将多张小图拼接成一张图。通过background-position和elementsize调整要显示的背景图案。优点:减少HTTP请求次数,大大提高页面加载速度,增加图片信息的重复,增加压缩率,减小图片体积,更换样式方便。您只需修改一张或多张图片的颜色或样式。缺点:图像合并麻烦,维护麻烦。修改图片可能需要重新布局整个图片。样式显示的区别:无;和可见性:隐藏;是相关的:它们都可以使元素不可见。区别:显示:无;将元素从渲染树中彻底移除消失,渲染时不占用任何空间;可见性:隐藏;不会让元素从渲染树中消失,渲染器元素继续占据空间,但是内容是不可见的display:none;为非继承属性,后代节点消失是因为元素从渲染树中消失引起的,无法通过修改后代节点的属性显示;可见性:隐藏;是继承的属性,后代节点的消失是由于hidden的继承。通过设置可见性:可见;后代节点可以显式修改常规流中元素的显示,这通常会导致文档重新排列。修改visibility属性只会导致元素重绘。屏幕阅读器不会阅读display:none;元素内容;将读取可见性:隐藏;elementcontentlink和@import链接的区别是HTML,@import是CSS链接最大支持并行下载,过多的@import嵌套导致串行下载,FOUClinks可以通过rel="alternatestylesheet"指定。浏览器支持早于@import的链接,@import可用于对旧浏览器隐藏样式。@import必须在stylerule之前,可以放在css文件中Citingotherfiles一般来说:link优于@importdisplay:block;并显示:内联;块元素的区别特点:1.常规流时,如果不设置宽度,会自动填充父容器2.可以应用margin/padding3.如果未设置高度,则高度将扩展以包含正常流程中的子元素4。正常流时,布局在前后元素位置之间(独占一个水平空间)5。Ignorevertical-aligninline元素的特点1.水平方向按direction布局2.元素前后无换行3.由white-space控制4.margin/padding在垂直方向无效,但在垂直方向有效水平方向5.width/height属性对非可替换内联元素无效,宽度由元素内容决定6.非可替换内联元素的行盒高度由line-height决定,行盒替换内联元素的高度由height,margin,padding,border决定6.浮动或绝对定位vertical-align属性生效后会转为block7。IE6浏览器中常见的错误、缺陷或与标准不一致的地方是什么?100像素;高度:自动!重要;高度:100px;//IE6下,内容高度超过高度,会自动扩展高度}ol中li的序号全为1,不递增。解决方法:设置样式显示:list-itemforli;父元素溢出:自动;未定位,且子元素包含position:relative;当子元素高于父元素时会溢出。解决方法:1)去掉position:relative;来自子元素;2)当子元素不能去掉定位时,父元素position:relative;.outer{width:215px;高度:100px;边框:1px纯红色;溢出:自动;位置:相对;/*修复错误*/}.inner{width:100px;高度:200px;背景色:紫色;position:relative;}

IE6只支持a标签的:hover伪类,解决方法:使用js监听元素的mouseenter和mouseleave事件,添加类实现效果:.p:hover,.hover{background:purple;}aaaabbbbbDDDDDDDDDDDDdaaaalkjlkjdfj

IE5-8不支持opacity,解决方法:.opacity{opacity:0.4filter:alpha(opacity=60);/*对于IE5-7*/-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";/*forIE8*/}当高度小于字体大小时,IE6将高度值设置为字体大小。解决方法:font-size:0;IE6不支持PNG透明背景,解决方法:在IE6下使用gif图片。IE6-7不支持display:inline-block解决方法:设置inline并触发hasLayoutdisplay:inline-block;*显示:内联;*缩放:1;IE6下的浮动元素在浮动方向元素的外边距触及父元素的边框会加倍解决方法:1)使用padding控制间距。2)浮动元素展示:inline;这样解决问题没有任何副作用:css标准规定浮动元素display:inline会自动调整为block。将块级元素的宽度和左右外边距设置为auto时,IE6无法实现水平居中。方法:为父元素设置text-align:center;当容器包含多个浮动元素时如何清理(包含)浮动容器元素在结束标签前添加一个额外的元素并设置clear:both父元素触发块级格式化上下文(参见块级可视化上下文部分)设置清理容器元素的伪元素。清理显示、浮动和位置之间关系的推荐方法。如果display为none,position和float都不起作用。在这种情况下,元素不会生成框。否则,如果position值为Absolute或fixed,则框为绝对定位,float计算值为none,根据下表调整显示。否则,如果float不为none,框是浮动的,按照下表调整显示否则,如果元素是根元素,则按照下表调整显示其他情况,display的值是指定值总结:绝对定位、浮动、根元素都需要调整显示边距。将两个或多个边距相邻的折叠边距(collapsingmargins)合并为一个边距,称为边距折叠。规则如下:在垂直方向正常流动的两个或多个相邻块元素上的边距将折叠浮动元素/内联块元素/绝对定位元素的边距不会与其他元素在垂直方向上的边距折叠.块级格式化上下文的元素及其子元素不会有边距折叠。元素本身的margin-bottom和margin-top相邻时也会折叠。转载自:https://github.com/qiu-deqing/FE-interview