前端开发学习笔记一

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


时间: 2024-11-03 05:40:51

前端开发学习笔记一的相关文章

前端开发学习笔记(一)深入浅出Javascript

从事开发工作已经有十几年时间了,但一直没有真正涉猎WEB开发,这在当今IT业界听起来有些不可思议哈.从今天开始静下心来,全面深入的学习WEB开发的有关知识.将学习的体会和要点记录下来,以作备忘. 深入浅出Javascript一共12章,按照章节记录. 第一章 前端开发涉及到三个层面:HTML(内容) + CSS(外观) + Javascript(交互/行动) JS脚本不论在<script>块中 还是 嵌入HTML中,都应以";"分号作为结束符.这是一个规范的写法 中文网页应

Web前端开发学习笔记(一)

最近在复习Web前端的开发知识,于是就把大二上学期曾经学过的东西拿出来复习一遍,把自己在做曾经的作业时遇到有意义的点都记下来吧. Homework1:http://my.ss.sysu.edu.cn/wiki/display/WEB/Homework+1+-+Recipe 1.text和font系的属性傻傻分不清楚 在写的过程中,遇到这样的问题:改变字体颜色,改变字体样式,给文本加下划线等等这些操作对应的属性分不清楚,究其原因,我认为是自己对css文本和css字体这两种的属性分不清楚,于是就对常

Web前端开发 学习笔记

HTML开始: HTML:超文本标记语言;用来做页面;通过浏览器来查看效果: 结构:<html >--页面<head>--网页头部<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>云商城</title></head> <body>--身体 今天再次来到东华,大家非常高兴!</b

前端开发学习笔记四

前天学习了固定导航栏根据页面滚动条距离来自动定位的效果,其中心思想就是通过判定当前滚动条的值与页面中相应内容值大小的关系来选择.js代码如下(用到了jQuery库): $(document).ready(function () { $(window).scroll(function () { var top = $(window).scrollTop(); var menu = $("#menu"); var items = $("#content").find(&

前端开发学习笔记三

把慕课的首页临摹了一下,感觉还不错. 顺便推荐一个前端编辑器,Adobe出的Brackets,可以实时预览,再也不用老是切换加f5了,可以极大的提高编写速度. 下载地址: http://brackets.io/

前端开发学习笔记二

前几天把之前做的购物网页的js效果写了出来. 如图所示,分别为以下几个效果: 搜索按钮的文字效果 轮播图 模拟下拉菜单 鼠标点击按钮,图片进行左右滚动 在学习过程中,思想很重要.写一个效果之前,现对其进行设计,然后分析,最后再实现. 比如很简单的一个轮播图,让图片淡入淡出的切换.它的原理就是,先让所有的图片淡出,然后让当前要显示的图片淡入就可以了.理解了它的工作原理,写起来就很简单了. 1 shop.app.Banner=function(){ //Banner轮播图效果 2 var ad=do

前端开发学习笔记五

幽灵按钮最近很流行,就寻思着做了一个,它有如下一些效果. 其中按钮上的线条和图标的旋转完全用css3中的transtion和transform来实现,其中图标的旋转效果实现过程如下: .link .img{ display: block; width:180px; height:180px; margin-bottom: 20px; -webkit-transition:all 0.5s cubic-bezier(0, .18, 0, .97); //为了兼容chrome和Safari tran

前端开发学习笔记二--HTML5

1.什么是 Canvas? <canvas> 标签用于在网页上绘制图像,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) , 必须使用脚本(通常是 JavaScript)来完成实际的绘图任务. 2.HTML 5 Canvas 参考手册 http://www.w3school.com.cn/html5/html5_ref_canvas.asp http://www.w3school.com.cn/html5/html5_ref_canvas.asp http://www

Web前端开发学习笔记(二)

Homework2:http://my.ss.sysu.edu.cn/wiki/display/WEB/Homework+2+-+Movie+Review 这份作业跟布局相关,因此很多都是布局的知识: 1.display属性的block,inline-block,inline值的区分 其实真正需要区分的是inline-block和inline.都是在同一行内,怎么区分他们呢?首先要明白块元素和行内元素很重要的一点区别:块元素的高度和宽度我们都是可以控制的,而行内元素是不可以的.block对应的就