框架集 条件HACK

框架集

框架集和内联框架的作用类似,都是用于在一个页面中引入其他的外部的页面
框架集可以同时引入多个页面,而内联框架只能引入一个
在h5标准中,推荐使用框架集,而不使用内联框架

使用frameset来创建一个框架集,注意frameset不能和body出现在同一个页面中
所以要使用框架集,页面中就不可以使用body标签

属性:

rows,指定框架集中的所有的框架,一行一行的排列
cols, 指定框架集中的所有的页面,一列一列的排列
这两个属性frameset必须选择一个,并且需要在属性中指定每一部分所占的大小

frameset中也可以再嵌套frameset

frameset和iframe一样,它里边的内容都不会被搜索引擎所检索
所以如果搜索引擎检索到的页面是一个框架页的话,它是不能去判断里边的内容的
使用框架集则意味着页面中不能有自己的内容,只能引入其他的页面
而我们每单独加载一个页面,浏览器都需要重新发送一次请求,引入几个页面就需要发送几次请求,用户的体验比较差
如果非得用建议使用frameset而不使用iframe

条件HACK

有一些情况,有一些特殊的代码我们只需要在某些特殊的浏览器中执行,而在其他的浏览器中不需要执行,这时就可以使用CSS Hack来解决该问题,CSS Hack实际上指的是一种特殊的代码,这段代码只在某些浏览器中可以识别,而其他浏览器不能识别,通过这种方式,来为一些浏览器设置特殊的代码
条件Hack:它只对IE浏览器有效,其它的浏览器都会将它识别为注释,IE10及以上的浏览器已经不支持这种方式
以下内容只会出现在IE6中

<!-- 以下内容只会出现在IE6中 -->
	<!--[if IE 6]>
		<p>为了您和家人的健康,请远离IE6!!</p>
	<![endif]-->

	<!--[if IE 8]>
		<p>当前浏览器是IE8!!</p>
	<![endif]-->

	<!--[if lt IE 9]>
		<p>该标签会在IE9以下的浏览器中显示</p>
	<![endif]-->

	<!--[if gte IE 9]>
		<p>该标签会在IE9及以上的浏览器中显示</p>
	<![endif]-->

	<!--[if lte IE 9]>
		<p>该标签会在IE9及以下的浏览器中显示</p>
	<![endif]-->

	<!--[if ! IE 6]>
		<p>你的浏览器不是IE6</p>
	<![endif]-->

Hack的属性

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>属性Hack</title>
	<style type="text/css">
		body{
			background-color: #bfa;
			/*
			假设在IE6中需要将背景颜色设置为黄色才能达到和其它浏览器相同的效果
			*/
			/*
			希望黄色背景只在IE6中生效
				在样式前添加一个下划线,则该样式只有IE6及以下的浏览器才可以识别
			*/
			/*_background-color: yellow;*/

			/*添加了*的样式只有IE7及以下的浏览器认识*/
			/**background-color: yellow;*/

			/*在样式最后添加一个\0,则只有IE8及以上的浏览器才能识别*/
			/*background-color: yellow\0;*/

			/*
			CSS Hack不到万不得已的情况尽量不要使用
			*/
		}
	</style>
</head>
<body>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_44194855/article/details/88991787
今日推荐