htmlquirks的简单介绍
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈htmlquirks,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、HTML文件在没有DTD声明的时候默认哪种标准
- 2、浏览器标准模式和怪异模式之间的区别是什么
- 3、求HTML5中文本或者行内块的常用居中方式 附代码 尽量全 谢了
- 4、html5 里面的meta有什么用
HTML文件在没有DTD声明的时候默认哪种标准
当DOCTYPE不存在时,都是混杂模式(quirks mode)。
在IE6中DOCTYPE声明不在第一行时,也是混杂模式。
浏览器标准模式和怪异模式之间的区别是什么
在标准模式下:浏览器按照HTML与CSS标准对文档进行解析和渲染;
在怪异模式下:浏览器则按照旧有的非标准的实现方式对文档进行解析和渲染。
所以
对于旧有的网页,浏览器启动怪异模式,就能够使得旧网页正常显示;
对于新的网页,则可以启动标准模式,使得新网页能够使用HTML与CSS的标准特性。
标准模式与怪异模式的两个常见区别
盒模型的处理差异:
标准CSS盒模型的宽度和高度等于内容区的高度和宽度,不包含内边距和边框,而IE6之前的浏览器实现的盒模型的宽高计算方式是包含内边距和边框的。
因此,对于IE,怪异模式和标准模式下的盒模型宽高计算方式是不一样的;
行内元素的垂直对齐:
很多早期的浏览器对齐图片至包含它们的盒子的下边框,虽然CSS的规范要求它们被对齐至盒内文本的基线。
标准模式下,基于Gecko的浏览器将会对齐至基线,而在quirks模式下它们会对齐至底部。最直接的例子就是图片的显示。
在标准模式下,图片并不是与父元素的下边框对齐的,如果仔细观察,你会发现图片与父元素下边框之间存在一点小空隙。
那是因为标准模式下,图片是基线对齐的。而怪异模式下,则不存在这个问题

求HTML5中文本或者行内块的常用居中方式 附代码 尽量全 谢了
方法一:
这种方法用来实现单行垂直居中是相当的简单的,你只要保证元素内容是单行,并且其高度是固定不变的,你只要将其“line-height”设置成和“height”值一样就Ok了。不过这种方法局限性太大,只有单行文本的元素才适用,所以在多行元素中是不能使用这种方法的。
Html Markup
div class="vertical"content/div
复制代码
CSS Code:
.vertical {
height: 100px;
line-height: 100px;/*值等于元素高度的值*/
}
复制代码
优点:
适合在所有浏览器,没有足够空间时,内容不会被切掉
缺点:
仅适合应用在文本和图片上,并且这种方法,当你文本不是单行时,效果极差,差到让你感到恶心。
这种方法对运用在小元素上是非常有用的,比如说让一个button、图片或者单行文本字段。
方法二:
这种方法将在需要给容器设置绝对定位(position:absolute),并且定位高度(top:50%)和margin-top为高度的一半(margin-top:-height/2)。这就意味着使用这种方法来实现垂直居中的效果,那么元素必须要有一个固定的高度。这样一来,你给元素设置了固定高度,如果你又给他设置了“overflow:auto”,那么当元素内容超过容器后,这样元素的就会出现滚动,而不会自适应内容的高度。
HTML Markup
div class="vertical"content/div
复制代码
CSS Code
.vertical {
height: 100px;/*元素的高度*/
position: absolute;
top: 50%;/*元素的顶部边界离父元素的的位置是父元素高度的一半*/
margin-top: -50px;/*设置元素顶边负边距,大小为元素高度的一半*/
}
复制代码
优点:
能在各浏览器下工作,结构简单明了,不需增加额外的标签
缺点:
由于固定死元素的高度,致使没有足哆的空间,当内容超过容器的大小时,要么会消息,要么会出现滚动条(如果元素在body内,当用户缩小浏览器窗口时,body的滚动条将不会出现)。
这种方法主要是针对多行元素来进行元素的垂直居中,而并非是此元素的内容垂直居中,这一点先要理解并分开清楚。另外此方法是通过绝对定位来实现的,那么用这种方法实现元素的垂直居中需要注意以下几点:其一元素定位关系到一个相对定位参考,所以要保证元素是相对于哪个为参考坐标;另外需要设置给元素明确定一个高度值并且给元素设置一个负值的margin-top,而且值为元素高度的一半。这里我建议大家给元素定一个宽度值,因为元素进行绝对定位后脱离文档流,其宽度是根据元素内容所占宽度来计算的,为这能让其视觉效果更好,最好给元素定义一个宽度值。
根据这种方法,我们稍作修改就能使元素不单是垂直居中,而且还可以水平居中,如:
HTML Markup
div id="wrap"test/div
复制代码
CSS Code
#wrap {
width: 200px;/*元素的宽度*/
height:200px;/*元素的高度*/
position: absolute; l
eft: 50%;/*配合margin-left的负值实现水平居中*/
margin-left: -100px;/*值的大小等于元素宽度的一半*/
top:50%;/*配合margin-top的负值实现垂直居中*/
margin-top: -100px;/*值的大小等于元素高度的一半*/
}
复制代码
这种方法可以实现元素的水平垂直居中,常用于页面在最中间的布局,使用这种方法一定要把握住:水平垂直居中的元素要有明确的大小(换句话说就是要有确切的宽和高度值);给元素进行绝对定位,并设置left,top值为“50%”(此处最好使用 对定位,如果只是单单水平居中,此处可以换成相对定位);最后设置margin-top和margin-left的负值,而且其值分别为元素高度和宽度的一半。
方法三:
方法三是使用的的div模拟表格效果,也就是说将多个div的“display”属性设置为禾“table”和“table-cell”,并设置他们的“vertical-align”的属性值为“middle”。有关于“display:table”更多的介绍可以点击这里或者去阅读Quirksmode的《The display declaration》一文。
HTML Code
div id="container"
div id="content"content/div
/div
复制代码
CSS Code
#container {
height: 300px;
display: table;/*让元素以表格形式渲染*/
}
#content {
display:table-cell;/*让元素以表格的单元素格形式渲染*/
vertical-align: middle;/*使用元素的垂直对齐*/
}
复制代码
优点:
这种方法不会像前面的两种方法一样,有高度的限制,此方法可以要据元素内容动态的改变高度,从而也就没有空间的限制,元素的内容不会因为没足够的空间而被切断或者出现难看的滚动条。
缺点:
不足之处呢?这种方法只适合现代浏览器,在IE6-7下无法正常运行;而且较前两者而言,结构也更复杂。
这种方法在现代浏览器下是非常方便。但是在IE6-7中是不被支持的,因为display:table在IE6-7中不被支持,那么为了解决这种方法在IE6-7的兼容,需要额外增加一个div,并使用hack,下面我们一起来看看其解决办法。
HTML Markup
div class="table"
div class="tableCell"
div class="content"content/div
/div
/div
复制代码
CSS Code
.table {
height: 300px;/*高度值不能少*/
width: 300px;/*宽度值不能少*/
display: table;
position: relative; float:left;
}
.tableCell {
display: table-cell;
vertical-align: middle;
text-align: center;
padding: 10px;
*position: absolute;
*top: 50%;
*left: 50%;
}
.content {
*position:relative;
*top: -50%;
*left: -50%;
}
复制代码
方法四:
这种方法有点新意,用这种方法你需要在居中元素前面放一个空的div(块元素就可以),然后设置这个div的高度为50%,margin-bottom为元素高度的一半,而且居中元素需要清除浮动。需要注意的是,使用这种方法,如果你的居中元素是放在body中的话,你需要给html,body设置一个“height:100%”的属性。
HTML Markup
body
div id="floater"!--This block have empty content --/div
div id="content"Content section/div
/body
复制代码
CSS Code
html,body {height: 100%;}
#floater{ float:left;
height:50%;/*相对于父元素高度的50%*/
margin-bottom: -120px;/*值大小为居中元素高度的一半(240px/2)*/
}
#content { clear:both;/*清除浮动*/
height: 240px; position: relative;
}
复制代码
优点:
这种方法能兼容所有浏览器,在没有足哆空间下,内容不会被切掉
缺点:
元素高度被固定死,无法达到内容自适应高度,如果居中元素加上overflow属性,要么元素出现滚动条,要么元素被切掉;另外就是一个不算缺点的缺点,那就是加了一个空标签。
方法五:
这种方法和方法三一样使用display:table-cell来实现,不过方法五不同之处是这个方法我们需要一个线盒型,用来实现IE下的效果,需要增加一上行内标签比如说“span”(此处最好使用行内标签,千万不要使用块标签,因为使用块标签会没有效果),并把这个线盒型高度设置为100%。
HTML Markup
p class="table"
span class="tableCell"Centering multiple lines brin a block container./span
!--[if lte IE 7]b/b![endif]--
/p
复制代码
CSS Code
style type="text/css"
.table {
border: 1px solid orange;
display: table;
height: 200px; width: 200px;
text-align: center;
}
.tableCell {
display: table-cell;
vertical-align: middle;
}
/style
!--[if lte ie 7]
style type="text/css"
.tableCell {
display: inline-block;
}
b {
display: inline-block;
height: 100%;
vertical-align: middle; width: 1px;
}
/style
![endif]--
复制代码
优点:
这种方法的优点和方法三是一样的,不会有高度的限制。
缺点:
不好的地方就是这种方法为了让IE运行正常,需要额外增加一些标签,另外就是线盒型的标签种类有限制。不过用起来还是蛮方便的。
方法六:
这种方法是采用的display:inline-block,然后借助另一个元素的高度来实现居中
Html Markup
div id="parent"
div id="vertically_center"
pI am vertically centered!/p
/div
div id="extra"!-- ie comment --/div
/div
复制代码
CSS Code
style type="text/css"
html,
body{
height: 100%;
}
#parent { h
eight: 500px;/*定义高度,让线盒型div#extra有一个参照物,可以是固定值,也可以是百分比*/
border: 1px solid red;
}
#vertically_center,
#extra {
display: inline-block;/*把元素转为行内块显示*/
vertical-align: middle;/*垂直居中*/
}
#extra {
height: 100%; /*设置线盒型为父元素的100%高度*/
}
/style
!--[if lt IE 8]
style type="text/css"
/*IE6-7不支持display:inline-block,所以在ie6-7另外写一个hack,用来支持ie6-7*/
#vertically_center,
#extra {
display: inline;
zoom: 1; }
#extra {
width: 1px;
}
/style
![endif]--
复制代码
优点:
可以自适应高度,简单易懂
缺点:
需要给元素的父元素设置一个高度,这个高度可以是一个固定值或者百分值高度,另外需要增加一个额外的标签,当作线盒型,如div#extra,并且需要设置其高度为100%。另外就是ie6-7不支持display:inline-block,需要给他们另外写一个样式。
这是一个很有意思的方法,但你要懂得如何使用display。有关于这种方法的操作,大家可以去看一看Jonathan Potter写的《CSS, Vertical Centering》。
html5 里面的meta有什么用
meta属性在HTML中占据了很重要的位置。如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等。虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟练使用它们。
1、声明文档使用的字符编码
meta charset='utf-8'11
2、声明文档的兼容模式
meta http-equiv="X-UA-Compatible" content="IE=edge" / 指示IE以目前可用的最高模式显示内容
meta http-equiv="X-UA-Compatible" content="IE=Emulate IE7" /指示IE使用 !DOCTYPE 指令确定如何呈现内容。标准模式指令以IE7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。1212
3、SEO 优化
meta name="description" content="不超过150个字符" /页面描述
meta name="keywords" content="html5, css3, 关键字"/页面关键词
meta name="author" content="魔法小栈" /定义网页作者
meta name="robots" content="index,follow" /定义网页搜索引擎索引方式,robotterms是一组使用英文逗号「,」分割的值,通常有如下几种取值:none,noindex,nofollow,all,index和follow。12341234
4、为移动设备添加 viewport
meta name ="viewport" content ="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
content 参数解释:
width viewport 宽度(数值/device-width)
height viewport 高度(数值/device-height)
initial-scale 初始缩放比例
maximum-scale 最大缩放比例
minimum-scale 最小缩放比例
user-scalable 是否允许用户缩放(yes/no)
minimal-ui iOS 7.1 beta 2 中新增属性,可以在页面加载时最小化上下状态栏。这是一个布尔值,可以直接这样写:
meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"1234567891012345678910
5、iOS 设备
meta name="apple-mobile-web-app-title" content="标题"添加到主屏后的标题(iOS 6 新增)
meta name="apple-mobile-web-app-capable" content="yes" /是否启用 WebApp 全屏模式
meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /设置状态栏的背景颜色
只有在 "apple-mobile-web-app-capable" content="yes" 时生效
content 参数:
default 默认值。
black 状态栏背景是黑色。
black-translucent 状态栏背景是黑色半透明。
设置为 default 或 black ,网页内容从状态栏底部开始。
设置为 black-translucent ,网页内容充满整个屏幕,顶部会被状态栏遮挡。1234567891012345678910
6、iOS 图标 rel 参数
apple-touch-icon 图片自动处理成圆角和高光等效果。
apple-touch-icon-precomposed 禁止系统自动添加效果,直接显示设计原图。
link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-57x57-precomposed.png" /iPhone 和 iTouch,默认 57x57 像素,必须有
link rel="apple-touch-icon-precomposed" sizes="72x72" href="/apple-touch-icon-72x72-precomposed.png" /iPad,72x72 像素,可以没有,但推荐有
link rel="apple-touch-icon-precomposed" sizes="114x114" href="/apple-touch-icon-114x114-precomposed.png" /Retina iPhone 和 Retina iTouch,114x114 像素,可以没有,但推荐有
link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144x144-precomposed.png" /Retina iPad,144x144 像素,可以没有,推荐大家使用
meta name="apple-mobile-web-app-title" content="标题"title最好限制在六个中文长度内,超长的内容会被隐藏,添加到主屏后的标题(iOS 6 新增)12345671234567
7、iOS 启动画面
iPad 的启动画面是不包括状态栏区域的。
iPad 竖屏 768 x 1004(标准分辨率)
link rel="apple-touch-startup-image" sizes="768x1004" href="/splash-screen-768x1004.png" /iPad 竖屏 1536x2008(Retina)
link rel="apple-touch-startup-image" sizes="1536x2008" href="/splash-screen-1536x2008.png" /iPad 横屏 1024x748(标准分辨率)
link rel="apple-touch-startup-image" sizes="1024x748" href="/Default-Portrait-1024x748.png" /iPad 横屏 2048x1496(Retina)
link rel="apple-touch-startup-image" sizes="2048x1496" href="/splash-screen-2048x1496.png" /
iPhone 和 iPod touch 的启动画面是包含状态栏区域的。
iPhone/iPod Touch 竖屏 320x480 (标准分辨率)
link rel="apple-touch-startup-image" href="/splash-screen-320x480.png" /iPhone/iPod Touch 竖屏 640x960 (Retina)
link rel="apple-touch-startup-image" sizes="640x960" href="/splash-screen-640x960.png" /iPhone 5/iPod Touch 5 竖屏 640x1136 (Retina)
link rel="apple-touch-startup-image" sizes="640x1136" href="/splash-screen-640x1136.png" /
link rel="apple-touch-startup-image" href="Startup.png" / 当用户点击主屏图标打开 WebApp 时,系统会展示启动画面,在未设置情况下系统会默认显示该网站的首页截图,当然这个体验不是很好123456789101112123456789101112
8、Windows 8
meta name="msapplication-TileColor" content="#000"/ Windows 8 磁贴颜色
meta name="msapplication-TileImage" content="icon.png"/Windows 8 磁贴图标1212
9、不常用的
link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" /添加 RSS 订阅
link rel="shortcut icon" type="image/ico" href="/favicon.ico" /添加 favicon icon
meta name="format-detection" content="telephone=no" /禁止数字识自动别为电话号码
meta name="format-detection" content="email=no" /不让android识别邮箱
meta name="renderer" content="webkit"启用360浏览器的极速模式(webkit)
meta http-equiv="X-UA-Compatible" content="IE=edge"避免IE使用兼容模式
meta name="HandheldFriendly" content="true"针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓
meta name="MobileOptimized" content="320"微软的老式浏览器
meta name="x5-orientation" content="portrait"QQ强制竖屏
meta name="full-screen" content="yes"UC强制全屏
meta name="x5-fullscreen" content="true"QQ强制全屏
meta name="browsermode" content="application"UC应用模式
meta name="x5-page-mode" content="app"QQ应用模式
meta http-equiv="Cache-Control" content="no-siteapp" /禁止百度转码
meta name="msapplication-tap-highlight" content="no"windows phone 点击无高光
meta name="keywords" content="" / 关键字
meta name="description" content="" / 描述
meta name="title" content="" / 标题
meta name="author" content="-06" / 作者
meta name="Copyright" content="" / 公司
meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" 让IE浏览器用最高级内核渲染页面 还有用 Chrome 框架的页面用webkit 内核
meta name="apple-mobile-web-app-capable" content="yes" IOS6全屏
meta name="mobile-web-app-capable" content="yes" Chrome高版本全屏
meta name="renderer" content="webkit" 让360双核浏览器用webkit内核渲染页面
meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL" 添加智能 App 广告条 Smart App Banner(iOS 6+ Safari)1234567891011121314151617181920212223242512345678910111213141516171819202122232425
10、sns 社交标签
参考微博API
meta property="og:type" content="类型" /
meta property="og:url" content="URL地址" /
meta property="og:title" content="标题" /
meta property="og:image" content="图片" /
meta property="og:description" content="描述" /1234512345
11、条件注释判断IE浏览器
!--[if IE]条件注释区分非IE浏览器
!--[if lt IE 7 ]html class="oldie ie ie6" ![endif]--
!--[if IE 7 ]html class="oldie ie ie7" ![endif]--
!--[if IE 8 ]html class="ie ie8" ![endif]--
!--[if (gte IE 9)|!(IE)]!--html !--![endif]--
!--[if lt IE 9] ![endif]--123456123456
12.如果页面上出现很多http请求会自动转换成https
meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" /
关于htmlquirks和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
