DIV+CSS是Web设计标准,它是一种网页的布局方法。与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离。
1、描述一下浮动会造成什么影响。
我们知道,当一个元素浮动时,其周围的文字段落等会相应地环绕着它。这样浮动元素就会变成一座“孤岛”,周围的东西就会成为“水流”围绕着它。那么这时问题来了,我们往往希望浮动不要对周围原有的布局产生影响,想到的方法是利用clear来进行清除浮动,但是我们却会忘记clear只对块级元素有作用,所以经常会因为忽略这一点而导致清除浮动失败。
2、简单说明绝对定位和浮动的区别和应用。
当一个元素使用绝对定位之后,它的位置将依据浏览器左上角开始计算或者相对于父容器(父容器使用相对定位)。绝对定位使元素脱离文档流,因此不占据空间。普通文档流中元素的布局就与绝对定位的元素不存在时一样,因为绝对定位的框与文档流无关,所以它们还是覆盖页面上的其他元素。
而浮动元素的定位还是基于正常的文档流,然后从文档流中抽出并尽可能远的移动至左侧或者右侧,文字内容会围绕在浮动元素周围。当一个元素从正常文档流中抽出后,仍然在文档流中的其他元素将忽略该元素并填补原先的空间。它只是改变了文档流的显示,并没有脱离文档流,一个元素浮动或者绝对定位后,它将自动变成块级元素,而不论该元素本身是什么类型。
3、CSS引入的方式有哪些,都有什么区别。
1)在head部分加入:<link rel="stylesheet stype="text/css" href="test.css"/>,引入外部的css文件。
这种方法是目前使用最多的,它不仅最能体现css的特点,而且也能体现DIV+CSS中的内容与现实分离的思想,改版代码容易,代码美观。
2)在head部分加入<style text="text.css"></style>
这种方法的使用情况要少得多,最常见的就是访问大量的门户网站,或者访问量较大的企业网站的首页。与第一种方法比起来,这种方法有点突出,弊端也明显。
- 优点:速度快,所以测CSS控制都是针对本页面标签的,没有多余的CSS命令,其次不用外链CSS文件,直接在HTML文档中读取样式。
- 缺点:改版麻烦,单个页面会显得比较臃肿,CSS不能被其他页面应用,造成代码量相对较多,维护也麻烦。对它们来说,用户量是关键,他们需要大量人员进行复杂的维护工作。
<style type="test/css">
@import uel(test.css);
</style>
alt是给搜索引擎识别时,在图像无法显示说的替代文本;
title是关于元素的注释信息,主要是给用户 解读的。当鼠标放到文字上或者图片上时,有title文字显示。
9、em为什么可以缩放,以什么为标准
一个em表示一种特殊字体的大写字母M的高度。
在网页上,一个em是网页浏览器的基础文本尺寸的高度,一般情况下是16px,但是,任何人都可以改变这个基础尺寸的设置。因此,一个em对于有的人来说可能是16px,有可能是24px。换句话来说,em是一个相对的度量单位。
10、为什么利用多个域名来存储网站资源会更有效
- CDN缓存更方便;
- 突破浏览器并发限制;
- 节约cookie带宽;
- 节约主域名的连接数,优化页面响应速度;
- 防止不必要的安全问题。
优点:
- 大大缩减页面代码
- 对搜索引擎更加友好,获得更好的网站排名
- 兼容性更好
- 缩短改版时间
- 强大的字体控制和排版能力
- 提高易用性
- 更好的扩展性
- 更灵活控制页面布局
- 表现和内容相分离
缺点:
- CSS网站制作的设计元素通常放在1个外部文件中,或几个文件,有可能相当复杂,甚至比较庞大,如果CSS文件调用出现异常,那么整个网站将变得惨不忍睹。
- DIV+CSS尽管不是高不可及,但至少要比表格定位复杂的多,即使对于网站设计高手也很容易出现问题,更不要说初学者了。
- 虽然说DIV+CSS解决了大部分浏览器兼容问题,但是也有在部分浏览器中使用出现异常,比如火狐浏览器,在IE中显示正常的页面,到了火狐浏览器中可能会面目全非。当然这应该是浏览器的问题,但是可以说在目前来看,DIV+CSS还没有实现所有浏览器的统一兼容。
- DIV+CSS对搜索引擎优化与否,取决于网页设计的专业水平,而不是DIV+CSS本身。DIV+CSS网页设计并不能保证网页对搜索引擎的优化,甚至不能保证一定比HTML网站有更简洁的代码设计,何况搜索引擎对于网页的收录和排序显然不是以是否采用表格和CSS定位来衡量,这就是为什么很多传统表格布局制作的网站在搜索结果中的排序靠前,而很多使用CSS及web标准制作的网页排名依然靠后的原因。因为对于搜索引擎而言,网站结构、内容、相关网站链接等因素始终是网站优化最重要的指标。
1)优点
- 利用CSS Sprites能很好地减少网页的http请求,从而大大提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因。
- CSS Sprites能减少图片的字节,比如说把3张图片合并成1张图片的字节总是小于这3张图片的字节总和。
- 在图片合并时,要把多张图片有序的、合理的合并成一张图片,还要留好足够的空间,防止板块内出现不必要的背景。还有一个最大的问题,在宽屏以及高分辨率的屏幕下的自适应页面,如果宽度不够宽,很容易出现背景破裂。
- CSS Sprites在开发时比较麻烦,要通过Photoshop或其他工具测量计算每一个背景单元的精确位置,这是一个“针线活”,没什么难度,但是很烦琐。
- CSS Sprites维护时比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,所以无需修改的地方最好不要动,这样避免改动更多的CSS。如果在原来的地方放不下,那么只能往下加图片,此时图片的字节就要增加,而且还要改动CSS。
14、置换元素和不可替换元素
1) 置换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容。
例如:浏览器会根据<img>标签的src属性的 值来读取图片信息并显示出来,而如果查看(x)html代码,则看不到图片的实际内容;<input>标签的type属性来决定是显示输入 框,还是单选按钮等。 (x)html中 的<img>、<input>、<textarea>、<select>、<object> 都是置换元素。这些元素往往没有实际的内容,即是一个空元素。置换元素在其显示中生成了框,这也就是有的内联元素能够设置宽高的原因。
2) 不可替换元素:(x)html 的大多数元素是不可替换元素,即其内容直接表现给用户端(如浏览器)。
例如: <label>label中的内容</label> 标签<label>是一个非置换元素,文字label中的内容”将全被显示。