前端开发学习笔记一

简介:

1、DOCTYPE 严格模式与混杂

http://www.cnblogs.com/lxin/archive/2013/02/18/2915344.html

原文链接:Quirks mode and strict mode 地址是:http://www.quirksmode.org/css/quirksmode.html    

问题的产生: 

当Netscape4(译注:网景公司早期的浏览器)和IE4(微软公司早期的浏览器)实现CSS机制时,并没有遵循W3C提出的标准。Netscape4 提供了糟糕的支持,而IE4 虽然接近标准,但依旧未能完全正确的支持标准。尽管IE 5 修复了IE4 许多的问题(bugs),但是依然延续CSS实现中的其它故障(主要是盒模型(box model)问题)。

为了保证自己的网站在不同的浏览器中都能正确展现,网页开发者不得不依据各个浏览器的自身的规范来使用CSS。因此大部分网站的CSS实现并未符合W3C的标准。 

然而随着标准一致性变得越来越重要,浏览器开发商不得不面临一个艰难的抉择:逐渐遵循W3C的标准是前进的方向。但是改变现有CSS的实现,完整去遵循标准,会使许多网站或多或少受到破坏。如果浏览器突然以2013-09-26 14:53正确的方式解析现存的CSS,陈旧的网站显示必然受到影响。

解决方案:

所有的浏览器需要提供两种模式:怪异模式(即兼容模式)服务于旧式规则,严格模式服务于标准规则。

1:产生于标准化浪潮以前的网页并没有DOCTYPE声明。因此'没有DOCTYPE'意味着触发怪异模式:既依据旧式的CSS规则渲染网页。

2:相反,如果开发者明确知道包含DOCTYPE,他们应该明白他们想要怎么做。因此大部分的DOCTYPE声明将触发严格模式:即依据标准的CSS规则渲染网页。

3:任何新的或未知的DOCTYPE将触发严格模式。

4:一些页面依据怪异模式而写,但是却包含DOCTYPE。这种情况下各个浏览器依据自己的DOCTYPE规则列表来触发怪异模式,参照这个浏览器比较图表

主要使用如下写法:它除了声明我的网页是XHTML 1.0 过渡类型之外,还将在所有浏览器中触发“准严格模式”

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2、CSS盒子模型
在网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。
                
3、行内元素与块元素的区别http://blog.sina.com.cn/s/blog_4b8d6b890101ovyv.html


简要说明:

1. 行内元素会再一条直线上,是在同一行的。比如span和strong;

2. 块级元素各占一行。是垂直方向的!比如div和p.

假如你要将行内元素变成块级元素,那么就只需要在该标签上加上样式 display:block; 块级元素可以用样式控制其高、宽的值,而行内元素不可以。

行内元素与块级元素列表

行内元素与块级元素有什么不同:

1.尺寸-块级元素和行内元素之间的一个重要的不同点

行内元素和width

W3C CSS2 标准规定行内元素、非置换元素不会应用width属性。

以下例子中,对行内元素<a>应用了width:200px,你可以看到,根本就没有什么效果。

行内元素和height

W3C CSS2 标准规定行内元素、非置换元素不会应用height属性,但是盒子高度可以通过line-height来指定。

以下例子,对行内元素<a>应用了height:50px,你可以看到什么效果都没。

行内元素和padding

你可以给行内元素设置padding,但只有padding-left和padding-right生效。

以下例子,行内元素<a>应用了padding:50px。你可以看到对左右的内容有影响,但是对上下没影响。

行内元素和marging

margin属性也是和padding属性一样,对行内元素左右有效,上下无效。

  1. 设置宽度width   无效。

  2. 设置高度height  无效,可以通过line-height来设置。

  3. 设置margin 只有左右margin有效,上下无效。

  4. 设置padding 只有左右padding有效,上下则无效。注意元素范围是增大了,但是对元素周围的内容是没影响的,看图上效果就知道了

2.text-align属性是两者表现的又以不同之处

 在W3C CSS2.1规范第16.2节 对text-align 有详细地描述:
------------------------------------------
值: left | right | center | justify | inherit
初始值:匿名值,由'direction'的值而定,如果'direction'为'ltr'则为'left',如果'direction'为'rtl'则为'right'。
应用于: 块级元素,表格单元格,行内块元素
继承性: 是
计算后的值:初始值或指定值
------------------------------------------
  这个特性描述了如何使一个块元素的行内内容对齐。注意一点,标准里说这个属性是用来对齐行内内容的,所以,不应该对块级内容起作用。
  行内内容是说由行内元素组成的内容,比如 SPAN 元素,IFRAME元素和元素样式的‘display : inline’的都是行内元素;

块级内容跟则是由块级元素构成,DIV 是最常用的块级元素。  这样,我们对这个特性的认识应该就清楚了。

但是,虽然标准里这么规定,但不是所有浏览器都遵守,IE6/7及IE8混杂模式中,text-align:center可以使块级元素也居中对齐。

其他浏览器中,text-align:center仅作用于行内内容上。
解决上面的问题比较好的方式,就是为所有需要相对父容器居中对齐的块级元素设置

“margin-left:auto;margin-right:auto”。但这个方式 IE6/IE7/IE8的混杂模式中不支持,所以还要设置父容器的 "text-align:center;"。

若居中对齐的子元素内的行内内容不需要居中对齐,则还需要为其设置“text-align:left”。


4、块元素中多出字显示为省略号

.activity-list-i {

    margin: -1px 12px 0;

    border-top: 1px dashed #676767;

    height: 40px;

    line-height: 40px;

    overflow: hidden;

    white-space: nowrap;

    -ms-text-overflow: ellipsis;

    text-overflow: ellipsis;

}

5、表格中内容自动换行

word-break:break-all和word-wrap:break-word


6、网页顶部小图标设置

<link rel="shortcut icon" type="image/x-icon" href="${ctx}/images/contact_02.jpg" />



========================================================

前端面试题收集

http://wenku.baidu.com/view/c1e7c8fffab069dc5022018b.html

css中!important的作用

http://www.cnblogs.com/guoguo-15/archive/2011/08/24/2151859.html

本文转自追光的猫博客51CTO博客,原文链接http://blog.51cto.com/ql0722/1655986如需转载请自行联系原作者

00_yatou
相关文章
|
8月前
|
Web App开发 前端开发 JavaScript
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
95 0
|
8月前
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图单线程配置
前端学习笔记202305学习笔记第二十三天-地图单线程配置
63 0
前端学习笔记202305学习笔记第二十三天-地图单线程配置
|
8月前
|
前端开发 API
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-react-redux的工作流程
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-react-redux的工作流程
55 0
|
8月前
|
前端开发
前端学习笔记202306学习笔记第五十一天-工厂模式4
前端学习笔记202306学习笔记第五十一天-工厂模式
34 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序4
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序4
32 0
|
4月前
|
前端开发 JavaScript
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
37 1
|
8月前
|
JavaScript 前端开发 调度
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
59 0
|
8月前
|
域名解析 缓存 网络协议
前端学习笔记202307学习笔记第五十七天-模拟面试笔记http-DNs解析ip地址
前端学习笔记202307学习笔记第五十七天-模拟面试笔记http-DNs解析ip地址
71 1
|
8月前
|
前端开发 JavaScript 安全
前端学习笔记202307学习笔记第五十七天-模拟面试笔记网络-xss和csrf攻击
前端学习笔记202307学习笔记第五十七天-模拟面试笔记网络-xss和csrf攻击
58 0
|
8月前
|
前端开发
前端学习笔记202306学习笔记第四十六天-vue-手写miniVue
前端学习笔记202306学习笔记第四十六天-vue-手写miniVu
44 0