html/css(2)

2018-01-31  本文已影响0人  悟空你又瘦了

10、能否简述一下如何使一套设计方案,适应不同的分辨率,有哪些方法可以实现?

流式布局:也就是百分比布局(viewport), 使用非固定像素来定义网页内容,通过盒子的宽度设置成百
分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充。
 
响应式开发: 就是一个网站能够兼容多个终端。CSS3中的Media Query(媒介查询)通过查询screen的
宽度来指定某个宽度区间的网页布局。 由于响应式开发显得繁琐些,一般使用第三方响应式框架来完
成,比如bootstrap来完成一部分工作。

11、你能描述一下渐进增强和优雅降级之间的不同吗?

优雅降级graceful degradation:认为应该针对那些最高级、最完善的浏览器来设计网站,一开始就构建完
整的功能,然后再针对低版本浏览器进行兼容

渐进增强progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对
高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验

区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的能
够起作用的版本开始,并不断扩充,以适应未来环境的需要。优雅降级意味着往回看,而渐进增强意味着
朝前看,同时保证其根基处于安全地带。

12、在新窗口打开链接的方法是?

target:_blank
<a href="http://www.baidu.com" target="_blank">百度</a>
_Blank是新窗口
_Self是自身
_Parent是父窗口
_Top是顶层窗口

13、简述对Web语义化的理解?

就是让浏览器更好的读懂你写的代码,在进行HTML结构、表现、行为设计时,尽量使用语义化的标
签,使程序代码简洁明了,易于进行Web操作和网站SEO。

14、CSS都有哪些选择器?CSS选择器的优先级是怎么样定义的?

!important>行内样式>ID> 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符。

15、display: none;与visibility: hidden的区别是什么?

display:none; 不占位置
visibility:hidden; 占位置

16、什么是盒子模型?

在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距
(padding),元素的边框(border),元素的外边距(margin)四个部分。这四个部分占有的空间
中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或区域。4个部分一起构成了css
中元素的盒模型。

17、行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

行内元素:a、b、span、img、input、strong、select、label、em、button、textarea 
块级元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote 
空元素:即系没有内容的HTML元素,例如:br、meta、hr、link、input、img

4、简述一下src与href的区别

href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。
src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其
指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会
暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于
将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。

5、什么是CSS Hack?

一般来说是针对不同的浏览器写不同的CSS,就是 CSS Hack。 
IE浏览器Hack一般又分为三种,条件Hack、属性级Hack、选择符Hack(详细参考CSS文档:css文档)。
例如: 
1、条件Hack
<!--[if IE]>
<style>
    .test{color:red;}
</style>
<![endif]>
2、属性Hack
.test{
    color:#090\9; /* For IE8+ */
    *color:#f00;  /* For IE7 and earlier */
    _color:#ff0;  /* For IE6 and earlier */
}

3、选择符Hack
*html .test{color:#090;} / For IE6 and earlier / 
*+html .test{color:#ff0;} / For IE7 / 

/* CSS属性级Hack */
color:red; /* 所有浏览器可识别*/
_color:red; /* 仅IE6 识别 */
*color:red; /* IE6、IE7 识别 */
+color:red; /* IE6、IE7 识别 */
*+color:red; /* IE6、IE7 识别 */
[color:red; /* IE6、IE7 识别 */
color:red\9; /* IE6、IE7、IE8、IE9 识别 */
color:red\0; /* IE8、IE9 识别*/
color:red\9\0; /* 仅IE9识别 */
color:red \0; /* 仅IE9识别 */
color:red!important; /* IE6 不识别!important*/
-------------------------------------------------------------
/* CSS选择符级Hack */
*html #demo { color:red;} /* 仅IE6 识别 */
*+html #demo { color:red;} /* 仅IE7 识别 */
body:nth-of-type(1) #demo { color:red;} /* IE9+、FF3.5+、Chrome、Safari、Opera 可以识别 */
head:first-child+body #demo { color:red; } /* IE7+、FF、Chrome、Safari、Opera 可以识别 */
:root #demo { color:red\9; } : /* 仅IE9识别 */
--------------------------------------------------------------
/* IE条件注释Hack */
<!--[if IE]>此处内容只有IE可见<![endif]--> 
<!--[if IE 6]>此处内容只有IE6.0可见<![endif]--> 
<!--[if IE 7]>此处内容只有IE7.0可见<![endif]--> 
<!--[if !IE 7]>此处内容只有IE7不能识别,其他版本都能识别,当然要在IE5以上。<![endif]-->
<!--[if gt IE 6]> IE6以上版本可识别,IE6无法识别 <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
<!--[if lt IE 7]> 低于IE7的版本才能识别,IE7无法识别。 <![endif]-->
<!--[if lte IE 7]> IE7以及IE7以下版本可识别<![endif]-->
<!--[if !IE]>此处内容只有非IE可见<![endif]-->
上一篇下一篇

猜你喜欢

热点阅读