转载请声明 原文链接地址
职业方向规划定位:
web
前端开发工程师web
网站架构师web
前端开发的前景展望:
IT
行业企业需求最多的人才html5
抢占移动端的市场web
开发成为企业的宠儿和核心web
职业发展目标:
HTML
css
(层叠样式表)js
ps
切图
第二、分解目标(起步阶段、提升阶段、成型阶段)
起步阶段:
提升阶段:
HTML
基本标签和属性css
的基本语法和使用html
+css
+js
开始系统项目的开发成型阶段:
DIV
+CCS
布局css
样式表控制html
标签js
制作动态网站的效果认识HTML:
html
不是一种编程语言,是一种标志语言html
使用标签来描述网页html
结构:
<html>
<head>head>
<body>body>
html>
不成对出现的标签
HTML 基本标签的讲解:
标签
—-
仅仅用于标题文本,不要为了产生粗体文本使用它们
标签 段落标签标签
都会让文字产生加粗效果
用于强调文本,强度更深,表示重要文本—>用于SEO
优化
只是视觉加粗效果—>单纯为了产生加粗
标签
em
用于强调文本i
只是视觉斜体效果
比
强调更强 
; —->空格>
; —>大于号<
;—>小于号"
;—>引号©
;–>版权号HTMl
基本标签:
span
标签
标签 target
属性:_self
(在原来页面打开) _blank
(新窗口打开)_top
(打开时忽略所有的框架) _parent
(在父窗口中打开)创建锚点和锚链接
内容
marquee
标签 <marquee direction="down" loop="4" onmouseover=this.stop() onmouseout=this.start()>marquee>
direction
表示滚动方向,取值有(left,right,up,down,默认left)loop
表示滚动循环的次数,默认为无限循环onmouseover=this.stop() onmouseover=this.start() scrollamout="1"(滚动速度)
图片标签与路径:
jpg
png
gif
Gif
(只支持全透明)Jpeg
/jpg
Png
半/全透明都支持图片标签写法 :
图片四要素:
src=""
图片路径alt=""
图片含义width=""
图片宽度 和图片大小保持一致height=""
图片高度 和图片大小保持一致title=""
路径知识:
相对路径、绝对路径:
align
属性–设置图片与后面文字的位置关系
值–top
、bottom
、middle
、absmiddle
、left
、right
在静态页面中:
/
开头表示根目录;
./
表示当前目录;(斜画线前面一个点)
../
上级目录;(斜画线前面两个点)
直接用文件名不带/也表示同一目录
这些都是相对于当前文件的位置来说的,如果用绝对路径的话就是写全了。
无序列表 <ul>
<li>li>
<li>li>
<li>li>
ul>
标签。每个列表项始于
标签。<ol>
<li>内容一li>
<li>内容二li>
<li>内容三li>
ol>
列表符号
无序列表-列表符号:
type="circle"
空心圆 type=“disc”
实心圆 默认值 type="square"
方块符
有序列表-列表符号
type="A"
A B C Dtype="a"
a b c dtype="1"
1 2 3 4 默认值type=”I” I II III type=”i” i ii iii
列表嵌套
无序列表-嵌套
<ul>
<li>柚子
<ul>
<li>沙田柚li>
<li>蜜柚li>
ul>
li>
<li>荔枝li>
<li>苹果li>ul>
<ol>
<li>茶
<ul>
<li>红茶li>
<li>绿茶li>
ul>
li>
<li>果汁li>
<li>牛奶li>ol>
标签开始。每个定义列表项以
开始。每个自定义列表项的定义以
开始。<dl>
<dt>pc网页制作dt>
<dd>学习DIV+CSS JS JQ 项目实战dd>
<dt>手机网页制作dt>
<dd>手机网页制作实战dd>
dl>
dd
是对dt
的解释
< dl>< /dl>
用来创建一个普通的列表,< dt>< /dt>
用来创建列表中的上层项目,< dd>< /dd>
用来创建列表中最下层项目,< dt>< /dt>
和< dd>< /dd>
都必须放在< dl>< /dl>
标志对之间。<dl>
<dt>中国城市dt>
<dd>北京 dd>
<dd>上海 dd>
<dd>广州 dd>
<dt>美国城市dt>
<dd>华盛顿 dd>
<dd>芝加哥 dd>
<dd>纽约 dd>
dl>
dl
是definition list
的缩写dt
是definition title
的缩写dd
是definition description
的缩写
list-style
属性具有三个属性分量:
list-style-position
:设置列表项图标的位置,位于文本内或者文本外list-style-type
: 设置列表项图标的类型list-style-image
:使用图像设置列表项图标表单标签:
表单标签
表单是一个包含表单元素的区域,包括起来的都是表单的内容
<form>
<input type="text"/>
form>
Action
和确认按钮:
HTML
标签 - 隐藏域隐藏标签:
隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器
<form>
<input type="hidden" name="hid" value="value">
form>
标签的掌握
常用type
类型:
type="text"
单行文本输入框type="password"
密码(maxlength=""
)type="radio"
单项选择(checked="checked"
) type="checkbox"
多项选择 type="button"
按钮type="submit"
提交 type="image"
图片提交type="file"
上传文件type="reset"
重置type="hidden"
隐藏关于表单中的设置默认值:
type="text" name="" value="今天心情不错" />
type="radio" name="" value="" checked="checked">
type="checkbox" name="" value="" checked="checked">
<select name="" >
<option value="">option>
<option value="" selected="selected">option>
<select>
textarea
没有默认值
标签的使用
label
元素不会向用户呈现任何特殊效果。label
元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
标签的
for
属性应当与相关元素的 id
属性相同。
例子:(重要—注册表单–用户体验–必做)
<p>单向选择p>
<label for="male">男:label><input type="radio" name="sex" id="male"/>
<label for="nv">女:label><input type="radio" name="sex"checked="check"/>
文本域标签
标签:
是文本域标签,可以在其中插入一段文字内容,它有两个常用属性rows
和cols
注意:
rows
表示这个文本域有多少行cols
表示这个文本域有多少列除了这两个属性它还有readonly
(只读,文本域的内容无法改变,相当于协议)和title
(鼠标放上提示)
标签的掌握
表单数据提交给服务器时包括 name
属性<form>
<select name="" id="">
<option value="1">1月option>
<option value="2">2月option>
select>
form>
常用到的属性:disabled=“disabled” name="sel" size="2"
注意: 第一部分总结: 双标签: 常用可视化标签 HTML部分导图总结 盒子名或者标签名{属性:值;} CSS中几种颜色的表示方法 用十六进制的颜色值表示(红、绿、蓝) 用rgb(r,g,b)函数表示 用hsl(Hue,Saturation,Lightness)函数表示(色调、饱和度、亮度) 如: 用 用hsla(Hue,Saturation,Lightness,alpha)函数表示 当样式需要应用于很多页面时,就需要用到外部样式表,首先需要创建一个 内联样式表(优先级高) 写在标签里面的样式 如: 表示给 区别:外链样式与导入样式 加载的顺序的区别, 兼容性的区别,因 在样式控制上(比如动态改变网页的布局时,使用 权值不同时,浏览器是根据权值来判断使用哪种 层叠优先级是: 派生选择器以前叫上下文选择器,所以完整的层叠优先级是: 另外,如果同一个元素在没有其他样式的作用影响下,其 选择器 标签选择器:页面中所有的标签都是一个选择器 类选择器 压缩后注释都清除,空间体积减少 群组选择器 属性选择器 输入伪类选择器(针对表单) 其他伪类选择器 背景属性: 背景的添加 : 背景颜色的添加: 背景图片的添加: 背景图片的大小可以通过属性 背景图片的滚动 背景图片是否随着内容的滚动而滚动由 文字属性 文本属性 所有的标签都是盒子模型 盒子模型的组成 单独属性: 值: 单独属性: 当设置内边距的时候会把盒子撑大,为了保持盒子原来的大小,应该高度和宽度进行减小,根据 margin 外边距 值:与 单独属性:与 外边距合并:两个盒子同时设置了外边距,会进行一个外边距合并 补充盒子模型内容 标准盒子模型 从上图可以看到标准 * IE盒子模型* 和标准 标准盒子模型 = 内容的宽度(不包含 例: 那应该选择哪中盒子模型呢?当然是“标准 代码2 与代码1 唯一的不同的就是顶部加了 所以为了让网页能兼容各个浏览器,让我们用标准 扩展 行块转换 溢出 文本不换行: 长单词换行: 行内元素和快级元素小结 一、块级元素:block element 每个块级元素默认占一行高度,一行内添加一个块级元素后无法一般无法添加其他元素( 块级元素一般作为容器出现,用来组织结构,但并不全是如此。有些块级元素,如只能包含块级元素。 二、行内元素:inline element 也叫内联元素、内嵌元素等;行内元素一般都是基于语义级(semantic)的基本元素,只能容纳文本或其他内联元素,常见内联元素 “a”。比如 三、block(块)元素的特点: ①、总是在新行上开始; ④、它可以容纳内联元素和其他块元素 四、inline元素的特点 ①、和其他元素都在一行上; ④、内联元素只能容纳文本或者其他内联元素 对行内元素,需要注意如下: 设置 五、常见的块状元素 六、常见的内联元素 七,可变元素 可变元素为根据上下文语境决定该元素为块元素或者内联元素。 八、行内元素与块级元素有什么不同 区别一: 区别二: 区别三: 区别四: 替换元素有如下:(和 z-index 一切皆为框 相对定位: 绝对定位: frame子框架 < < 是 格式 企业 网页内容类 id的命名: 页面结构 导航 功能 颜色:使用颜色的名称或者16进制代码,如 字体大小,直接使用”font+字体大小”作为名称,如 对齐样式,使用对齐目标的英文名称,如 标题栏样式,使用”类别+功能”的方式命名,如 注意事项:: 推荐的 显示属性 自身属性 文本属性 从下面的几个方面可以进行页面的优化: 不要使用过小的图片做背景平铺 无边框 慎用 通配符 样式放头上,脚本放脚下。不内嵌,只外链 坚决不用 使用 引用样式表,而不是通过 一般来说, 千万不要在 正文字体最好用偶数 段落之间,至少要有一倍行距 强行指定某些元素的 中文标点用全角 中文字体的粗体和斜体,远离较好 [建议] HTML 标签的使用应该遵循标签的语义 现代浏览器 文本溢出的几种处理方法 简单隐藏 清除浮动的几种方法 直接一个放到当作最后一个子标签放到父标签那儿,此方法屡试不爽,兼容性强 方法二: 此方法优点在于代码简洁,涵盖所有浏览器 方法三: 清除浮动的原理是触发 自动继承属性: 非继承属性: 具有破坏性的元素: 具有包裹性的元素: 消除图片底部间隙的方法 图片块状化-无基线对齐 图片底线对齐 行高足够小 - 基线位置上移 BFC BFC全称 记住这么一句话: 扩展阅读 关于布局 其他 前端指路 前端技术文章【新人篇】 性能/规范/实践 一些问答社区表格标签
表格标签:
是表格标签,可以用它定义一个表格。
<table border="1">
<tr>
<td>姓名td>
<td>性别td>
tr>
table>
的
border
属性不能少
标签的使用
行标签:
表示一行。可以定义表格中的一行,一个< tr>
<table border="1">
<tr>
<td>姓名td>
<td>性别td>
tr>
<tr>
<td>姓名td>
<td>性别td>
tr>
table>
单元格标签:
可以定义表格中的一个单元格,
表示一个单元格。
<table border="1">
<tr>
<td >姓名td>
<td>性别td>
<td>爱好td>
tr>
table>
border-collapse
属性设置是否将表格边框折叠为单一边框:border-collapse:collapse
;colspan
左右合并rowspan
上下合并
head
meta
style
scrpit.
..img
div
span
a
ul
li
…css
改变它meta
link
base
img
input
br
hr
html
head
body
div
a
p
span
..ul
li
ol
dl
….
div
*
href
*属性:设置跳转的网页地址target
属性:设置跳转的目标a
标签img
src
*属性用来设置图片的url数据alt
提供给搜索引擎搜索的width
height
table
caption
tr
td (th)
rowspan
)colspan
)
第二部分 CSS
第八章 css基础知识
css
基础知识:
css
样式表的定义css
:(Cascading Style Sheets)层叠样式表;-head
区域style
标签里面
link
调用css
内的注释:/*
注释内容*
/css
样式表的语法
CSS
规则由两个主要的部分构成:要添加样式的盒子名或者标签名、和要添加的样式。
aqua
, black
, blue
, fuchsia
, gray
, green
, lime
, maroon
, navy
,
olive
, orange,
purple
, red
, silver
, teal
, white
, and yellow
#FF0000
或者#F00
rgb(255,255,0)
hsl(120,100%,100%)
,色调0代表红色,120
代表绿色,240
代表
蓝色 rgba(r,g,b,a)
函数表示 a
表示的是改颜色的透明度,取值范围是0~1
,其中0
代表完全透明
<div style="position:absolute;top:0px">
<div style="background-color:gray;">background-color:graydiv>
<div style="background-color:#F00;">background-color:#F00div>
<div style="background-color:#ffff00;">background-color:#ffff00div>
<div style="background-color:rgb(255,0,255);">background-color:rgb(255,0,255)div>
<div style="background-color:hsl(120,80%,50%);">background-color:hsl(120,80%,50%)div>
<div style="background-color:rgba(255,0,255,0.5);">background-color:rgba(255,0,255,0.5)div>
<div style="background-color:hsla(120,80%,50%,0.5);">background-color:hsla(120,80%,50%,0.5)div>
div>
标签在文档
里面定义内部样式表
<head>
<style type="text/css" >
p{color:red;}
style>
head>
head
标签里面) css
文件,然后引用到我们的页面中。Link
样式表式: Html
式:
p
标签里面的文字颜色设置为红色
link
标签是属于xhtml
范畴,而@import
则是css2.1
中特有的。link
标签除了可以加载CSS
外,还可以做很多其它的事情,比如定义RSS
,定义rel
连接属性等,@import
就只能加载CSS
了。 link
加载的css
时,是一种并行(没有尝试是否是这样)加载CSS
方式,而@impor
则在整个页面加载完成后才加载。@import``CSS2.1
才特有的,所以对于不兼容CSS2.1
的浏览器来说,无效。javascript
操作DOM
)的区别,此时@import
就无能为力了。
CSS
样式的优先级总结来说,就是——就近原则(离被设置元素越近优先级别越高):内联样式表(标签内部)
> 嵌入样式表(当前文件中)
> 外部样式表(外部文件中)
css
样式的,哪种样式权值高就使用哪种样式
浏览器缺省
< 外部样式表
< 内部样式表
< 内联样式
类选择器
< 类派生选择器
<ID选择器
< ID派生选择器
浏览器缺省
<外部样式表
< 外部样式表类选择器
< 外部样式表类派生选择器
< 外部样式表ID选择器
< 外部样式表ID派生选择器
< 内部样式表
< 内部样式表类选择器
< 内部样式表类派生选择器
< 内部样式表ID选择器
< 内部样式表ID派生选择器
< 内联样式
…共12
个优先级Class
定义了多个并以空格分开,其优先级顺序为:
class
,后定义的优先(即近者优先),加上!important
者最优先!
第九章 css选择器(上)
css
选择器:
class
类选择器可以重复利用 id
选择器唯一
{属性:值;属性:值;}
p{color:red;}
ID
选择器
id
命名的元素 以 #
开头 #p1{color:#0f0;}
class
选择器,选择clas
命名的元素 以.
开头 .first{color:#00f;}
css
代码写完后上线前要经过压缩处理 css
版本(备份)
#main,.first,span,a,h1{color:red;}
p
span{color:red;}
a[title]{color:red;}
选择包含title
的a
标签a[title][href]{color:red;}
选择包含title
和href
的a
标签>
+
选择器子类选择器:只选择子元素(只选择儿子)(相当于包含元素)
p > span{color:red;}
p + span{color:red;}
第十章 css选择器(下)
伪类选择器
a:link {color:#FF0000;}
/* 未访问的链接 */ (只用于a标签)a:visited {color:#00FF00;}
/* 已访问的链接 */ (只用于a标签)a:hover {color:#FF00FF;}
/* 鼠标移动到链接上*/
(可和其他标签结合一起用)a:active {color:#0000FF;}
/* 选定的链接 */
a:link
a:visited
a:hover
a:active
,记作lvha
input:focus{color:red;}
/* 键盘输入焦点 */
p:first-child{color:red;}
/* 第一个p *
/:before
在元素之前添加内容。:after
在元素之后添加内容。css
优先规则
ID
选择器—> Class
类选择器->标签选择器
第十一章 背景属性
background:red;
backgronnd-color:red;
background:url(“images/1.jpg”);
backgronnd-image:url(“images/1.jpg”);
background-repeat:no-repeat;
background-repeat:repeat-x;
background-repeat:repeat-y;
background-position
来实现background-position
的取值可为英文单词或者数值和百分值。background-positon
的英文单词取值top left
top center
top right
center left
center center
center right
bottom left
bottom center
ottom right
background-positon
的数值取值 background-position:x y;
positon
的百分值取值 background-position:x% y%;
background-size
来设置background-size
的取值可为数值和百分值。background-size
的数值取值 background-size:x y;
background-size
的数值取值 background-size:x% y%;
background-attachment
设置background-attachment:fixed;
固定,不随内容的滚动而滚动 background-attachment:scroll;
滚动,随内容的滚动而滚动
第十二章 文字文本属性
css
文字文本属性:
color:red;
文字颜色font-size:12px
; 文字大小font-weight:“bold”
文字粗细(bold/normal
)font-family:“宋体”
文字字体font-variant:small-caps
小写字母以大写字母显示text-align:center;
文本对齐(right
/left
/center
)line-height:10px;
行间距(可通过它实现文本的垂直居中)text-indent:20px;
首行缩进text-decoration:none;
none
/underline
/overline
/line-through
) -
letter-spacing
: 字间距第十三章 盒子模型
html
标签都是盒子模型div
标签自定义盒子模型
class
和id
的主要差别是:class
用于元素组(类似的元素,或者可以理解为某一类元素),而id
用于标识单独的唯一的元素。
width
、height
宽高padding
border
边框线margin
外边距border
边框
border:1px solid #f00;
border-width
:border-style:
dotted
点状虚线dashed
(虚线)solid
(实线)double
(双实线)border-color
(颜色)padding
内边距
像素
/厘米
等长度单位、百分比
padding:10px;
上下左右padding:10px 10px;
上下 左右padding:10px 10px 10px;
上 左右 下padding:10px 10px 10px 10px;
上 右 下 左(设置4个点–>顺时针方向)
padding-top:
padding-right:
padding-bottom:
padding-left:
width
和height
减小
padding
相同padding
相同
css
中一个重要的概念,理解了盒子模型才能更好的排版。其实盒子模型有两种,分别是 ie
盒子模型和标准 w3c
盒子模型。他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型
w3c
盒子模型的范围包括 margin
、border
、padding
、content
,并且 content
部分不包含其他部分
ie
盒子模型的范围也包括 margin
、border
、padding
、content
w3c
盒子模型不同的是:ie
盒子模型的 content
部分包含了 border
和 padding
IE
盒子模型width
= padding
+border
+内容
border
+padding
)
margin
为 20px,border
为 1px,padding
为 10px,content
的宽为 200px、高为 50px,假如用标准 w3c
盒子模型解释,那么这个盒子需要占据的位置为:宽 20*2+1*2+10*2+200=262px
、高 20*2+1*2*10*2+50=112px
,盒子的实际大小为:宽 1*2+10*2+200=222px
、高 1*2+10*2+50=72px
;假如用ie 盒子模型,那么这个盒子需要占据的位置为:宽 20*2+200=240px
、高 20*2+50=70px
,盒子的实际大小为:宽 200px
、高 50px
w3c
盒子模型”了。怎么样才算是选择了“标准 w3c
盒子模型”呢?很简单,就是在网页的顶部加上 doctype
声明。doctype
声明,那么各个浏览器会根据自己的行为去理解网页,即 ie
浏览器会采用 ie
盒子模型去解释你的盒子,而 ff
会采用标准w3c
盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。doctype
声明,那么所有浏览器都会采用标准 w3c
盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。
jquery
做的例子来证实一下<html>
<head>
<title>你用的盒子模型是?title>
<script language="javascript" src="jquery.min.js">script>
<script language="javascript">
var sbox = $.boxmodel ? "标准w3c":"ie";
document.write("您的页面目前支持:"+sbox+"盒子模型");
script>
head>
<body>
body>
html>
doctype
声明,在 ie
浏览器中显示 ie
盒子模型,在 ff 浏览器中显示“标准w3c
盒子模型”。
<html>
<head>
<title>你用的盒子模型是标准w3c盒子模型title>
<script language="javascript" src="jquery.min.js">script>
<script language="javascript">
var sbox = $.boxmodel ? "标准w3c":"ie";
document.write("您的页面目前支持:"+sbox+"盒子模型");
script>
head>
<body>
body>
html>
doctype
声明。在所有浏览器中都显示“标准 w3c
盒子模型”w3c
盒子模型
第十四章 块元素、行元素与溢出
display:none
; 不显示display:block
; 变成块级元素display:inline
; 变成行级元素display:inline-block
; 以块级元素样式展示,以行级元素样式排列
overflow:hidden
; 溢出隐藏overflow:scroll
; 内容会被修剪,浏览器会显示滚动条overflow:auto
; 如果内容被修剪,则产生滚动条white-space:nowrap
;word-wrap:break-word
;
float
浮动后除外)。两个块级元素连续编辑时,会在页面自动换行显示。块级元素一般可嵌套块级元素或行内元素;DIV
是最常用的块级元素,元素样式的display:block
都是块级元素。它们总是以一个块的形式表现出来,并且跟同级的兄弟块依次竖直排列,左右撑满。SPAN
元素,IFRAME
元素和元素样式的display : inline
的都是行内元素。例如文字这类元素,各个字母 之间横向排列,到最右端自动折行。width
无效。 设置高度height
无效,可以通过line-height
来设置。 设置margin
margin
有效,上下无效。padding
只有左右padding
有效,上下则无效。注意元素范围是增大了,但是对元素周围的内容是没影响的。address
– 地址blockquote
– 块引用center
– 举中对齐块dir
– 目录列表div
– 常用块级容易,也是CSS layout
的主要标签dl
– 定义列表fieldset
– form
控制组form
– 交互表单h1
– 大标题h2
– 副标题h3
– 3级标题h4
– 4级标题h5
– 5级标题h6
– 6级标题hr
– 水平分隔线isindex
– input prompt
menu
– 菜单列表noframes
– frames
可选内容,(对于不支持frame的浏览器显示此区块内容noscript
– 可选脚本内容(对于不支持script
的浏览器显示此内容)ol
– 有序表单p
– 段落pre
– 格式化文本table
– 表格ul
– 无序列表a
– 锚点abbr
– 缩写acronym
– 首字b
– 粗体(不推荐)bdo
– bidi override
big
– 大字体br
– 换行cite
– 引用code
– 计算机代码(在引用源码的时候需要)dfn
– 定义字段em
– 强调font
– 字体设定(不推荐)i
– 斜体img
– 图片input
– 输入框kbd
– 定义键盘文本label
– 表格标签q
– 短引用s
– 中划线(不推荐)samp
– 定义范例计算机代码select
– 项目选择small
– 小字体文本span
– 常用内联容器,定义文本内区块strike
– 中划线strong
– 粗体强调sub
– 下标sup
– 上标textarea
– 多行文本输入框tt
– 电传文本u
– 下划线applet
- java applet
button
- 按钮del
- 删除文本iframe
- inline frame
ins
- 插入的文本map
- 图片区块(map
)object
- object
对象script
- 客户端脚本
margin
,padding
margin-left;
margin-right;
padding-left;
padding-right
;可以生效。但是竖直方向的margin-bottom
; margin-top
; padding-top
; padding-bottom
;却不能生效。
display:block
;display:inline
;img
一样的设置方法)、
、
、
都是替换元素,这些元素都没有实际的内容
display
属性来切换块级元素和行内元素
第十五章 定位
static
静态定位(不对它的位置进行改变,在哪里就在那里)
top
,bottom,
left, right
或者 z-index
声明)。fixed
固定定位(参照物–浏览器窗口)—做 弹窗广告用到
"left"
, "top"
, "right"
以及 "bottom"
属性进行规定。 relative
(相对定位 )(参照物以他本身)
absolute
(绝对定位)(除了static
都可以,找到参照物–>与它最近的已经有定位的父元素进行定位)
static
定位以外的第一个父元素进行定位。left"
, "top"
, "right"
以及 "bottom"
属性进行规定
z-index
属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
div
、h1
或p
元素 即:显示为一块内容称之为 “块框“ ;span
,strong
,a
等元素 即:内容显示在行中称 “行内框”;display:block
; 让行内元素设置为块级元素,display:none;
没有框
.adv_relative { position: relative; left: 30px; top: 20px; }
.adv_absolute { position: absolute; left: 30px; top: 20px; }
第十六章 框架
frameset
框架:
—- 用来定义一个框架;双标签
不能和 一起使用
rows
、cols
属性
rows
定义行表示框架有多少行(取值 px
/%
/ *
)cols
定义列表示框架有多少列(取值px
/ %
/ *
)
frame
> —- 表示框架中的某一个部分;单标签,要跟结束标志src
显示的网页的路径name
框架名frameborder
边框线(取值 0 / 1)noframes
>属性noframes
> 提供不支持框架的浏览器显示body
的内容;双标签<frameset>
<frame src=“” />
<frame src=“” />
<frame src=“” />
<noframes>
<body>内容body>
noframes>
frameset>
内联框架
iframe
元素会创建包含另外一个文档的内联框架(即行内框架)body
一起使用width
宽(取值 px / %)height
高(取值 px / %)name
框架名frameborder
边框线(取值 0 / 1)src
显示的网页的路径
第十七章 css高级属性
opacity
透明属性
opacity
IE6/7/
,使用filter:alpha(opacity:值;
) 值为0-100
Webkit
,Opera
,Firefox
,IE9+
,使用opacity
:值; 值为0-1
-moz-opacity
:值; 值为0-1
{
opacity:0.5;
filter:alpha(opacity:50);/*0-100*/
-moz-opacity:0.5; /*取值0-1*/-->针对早起版本的火狐兼容问题的解决
}
border-radius
圆角边框属性
div
元素添加圆角边框
border-radius:10px
;box-shadow
阴影属性
box-shadow
属性向框添加阴影效果,后面跟4个参数。box-shadow:0px 0px 10px #000;
属性
HTML5
中新增的标签,媒体嵌入插件标签,可以通过插入音频或视频
.mid
.wav
.mp3
等
css
选择符(复制图片地址到浏览器打开放大即可清晰查看)
css
常见简写
第三部分 附录
附录一 DIV命名规范
DIV
使用频率高的命名方法
title
summary
arrow
label
logo
corner
banner
subMenu
search
searchBox
login
loginbar
toolbar
drop
tab
current
list
scroll
service
msg
hot
news
tips
download
title
hot
joinus
regsiter
guide
friendlink
status
copyright
btn
partner
vote
left
right
center
/* Footer */
内容区/* End Footer */
container
header
content
/container
main
footer
nav
sidebar
column
wrapper
left
right
center
nav
mainbav
subnav
topnav
sidebar
leftsidebar
rightsidebar
menu
submenu
title
summary
logo
banner
login
loginbar
regsiter
search
shop
title
joinus
status
btn
scroll
tab
list
msg
current
tips
icon
note
guild
service
hot
news
download
vote
partner
link
copyright
class
的命名:
.red { color: red; }
.f60 { color: #f60; }
.ff8600 { color: #ff8600; }
.font12px { font-size: 12px; }
.font9px {font-size: 9pt; }
.left { float:left; }
.bottom { float:bottom; }
.barnews { }
.barproduct { }
CSS
书写顺序:
display
list-style
position
float
clear
width
height
margin
padding
border
background
color
font
text-decoration
text-align
vertical-align
white-space
other text
content
附录二 CSS精灵
CSS
雪碧的基本原理是把你的网站上用到的一些图片整合到一张单独的图片中,从而减少你的网站的HTTP请求数量。CSS
background和background-position
属性渲染,这也就意味着你的标签变得更加复杂了,图片是在CSS
中定义,而非标签。
CSS
做成按钮的样式,我们可以使用同一张图片,完成按钮的三个状态,a:link
,a:hover
,a:active
链接
200px 65px
的三个按钮图拼合而成的图片button.png
,从上到下一次为按钮的普通、鼠标滑过、鼠标点击的状态。则可以使用CSS
进行定义。 a {
display:block;
width:200px;
height:65px;
line-height:65px; /*定义状态*/
text-indent:-2015px; /*隐藏文字*/
background-image:url(button.png); /*定义背景图片*/
background-position:0 0;
/*定义链接的普通状态,此时图像显示的是顶上的部分*/
}
a:hover {
background-position:0 -66px;
/*定义链接的滑过状态,此时显示的为中间部分,向下取负值*/
}
a:active {
background-position:0 -132px;
/*定 义链接的普通状态,此时显示的是底部的部分,向下取负值*/
}
CSS
雪碧,图片更复杂,背景定位更精确。可能会用到大量的数值
background:url(nav.png) -180px 24pxno-repeat
; 来达到更精确的定位
sprite
技术的其中一个好处是图片的加载时间(在有许多 sprite
时,单张图片的加载时间)。由所需图片拼成的一张 GIF
图片的尺寸会明显小于所有图片拼合前的大小。单张的 GIF
只有相关的一个色表,而单独分割的每一张 GIF
都有自己的一个色表,这就增加了总体的大小。因此,单独的一张 JPEG
或者 PNG
sprite
在大小上非常可能比把一张图分成多张得来的图片总尺寸小。bug
IE6
不会主动预加载鼠标滑过即a:hover
中的背景图片,所以,如果使用多张图片,鼠标滑过会出现闪白的现象。使用CSS
雪碧,由于一张图片即可,所以不会出现这种现象。
CSS
雪碧的最大问题是内存使用CSS
的编写变得困难CSS
雪碧调用的图片不能被打印Sprites
影响可访问性附录三 一些tips解决方案
页面优化实践
CSS
文件合并CSS
中使用 import
CSS
值缩写(Shorthand Property
)CSS
制作显示表现写DIV+CSS 的一些常识
1px
的原因,这才知晓。宽高 1px
的图片平铺出一个宽高 200px
的区域,需要 200200=40, 000
次,占用资源
border:none
;,哈哈,我一直在用这个。 border:0;
只是定义边框宽度为零,但边框样式、颜色还是会被浏览器解析,占用资源
CSS
中的所有标签均初始化,不管用的不用的,过时的先进的,一视同仁,这样,大大的占用资源。要有选择的初始化标签。CSS
的十六进制颜色代码缩写
CSS
表达式@import
导入。PNG
比 GIF
要小,小得多。再者,GIF
中有多少颜色是被浪费的,很值得优化。HTML
中缩放图片,一者不好看,二者占资源。
12px
、14px
、16px
,效果非常好。特例,15px
。block
、ul
、ol
等上下留出至少一倍行距,左侧至少两倍行距,右侧随意。line-height
,正文 1.6
倍于文字大小,标题1.3
倍。
p
- 段落h1,h2,h3,h4,h5,h6
- 层级标题strong,em
- 强调ins
- 插入del
- 删除abbr
- 缩写code
- 代码标识cite
- 引述来源作品的标题q
- 引用blockquote
- 一段或长篇引用ul
- 无序列表ol
- 有序列表dl,dt,dd
- 定义列表常用代码片段
CSS
初始化示例代码【仅供参考】
html
头文件中直接引用,从而避免浏览器的不兼容带来的错误。body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
p,
blockquote,
th,
td {
margin:0; padding:0;
}
body {
background:#fff;
color:#555;
font-size:14px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td,
th,
caption {
font-size:14px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight:normal;
font-size:100%;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
font-style:normal;
font-weight:normal;
}
a {
color:#555;
text-decoration:none;
}
a:hover {
text-decoration:underline;
}
img {
border:none;
}
ol,ul,li {
list-style:none;
}
input,
textarea,
select,
button {
font:14px Verdana,Helvetica,Arial,sans-serif;
}
table {
border-collapse:collapse;
}
html {
overflow-y: scroll;
}
.clearfix:after {
content: ".";
display: block;
height:0;
clear:both;
visibility: hidden;
}
.clearfix {
*zoom:1;
}
cssreset
解决方案【推荐使用这个】
mobile meta
标签<meta name=”viewport” content=”width=320,target-densitydpi=dpi_value,initial-scale=1, user-scalable=no”/>
table-layout: fixed; word-break: break-all;;border-collapse: collapse
<div id=”abc” style=”display:table;text-align:center;width:100%;height:100%;”>
<span style=”background:#f00; display:table-cell; vertical-align:middle;”>
<input type=”button” value=”item1″ />
span>
div>
filter:alpha(opacity=50); /*1-100*/
-moz-opacity:0.5; /*0-1.0*/
-khtml-opacity:0.5; /*0-1.0*/
opacity:0.5; /*0-1.0*/
div.hide{overflow:hidden}
div.scroll{overflow:scroll}
div.clip{
border:1px solid;
overflow:hidden;/*超出隐藏*/
white-space:nowrap;/*强制在一行显示*/
text-overflow:clip;/*裁切*/
}
div.elli{
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;/*使用省略号*/
}
投机取巧法
– 不推荐overflow + zoom
方法 –不推荐 .fix{overflow:hidden; zoom:1;}
after + zoom
方法 -推荐–此方法可以说是综合起来最好的方法了clearfix
只应用在包含浮动子元素的父级元素上.clearfix{zoom:1;}
.clearfix:after{
display:block;
content:'clear';
clear:both;
line-height:0;
visibility:hidden;
}
.clearfix:after,
.clearfix:before {/*before 是为了防止浏览器顶部空白的崩溃*/
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
BFC
,这里只有clear:both
起清除浮动作用,其他的line-height:0; visibility:hidden;
都是为了隐藏生的内容需要的
一些总结
color
font
text-align
list-style
…
background
border
position
…
float
display:none;
position:absoblute/fixed/sticky;
display:inline-block/table-cell
position:absolute/fixed/sticky
overflow:hidden/scroll
img{display:block;}
img{vertical-align:bottom;}
.box{line-height:0;}
一些概念
”Block Formatting Context”
中文为“块级格式化上下文”BFC
元素特性表现原则就是,内部子元素再怎么翻江倒海,翻云覆雨都不会影响外部的元素BFC
就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此graceful degradation
)
Web
站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE
独特的盒模型布局问题,针对不同版本的IE
的hack
实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效progressive enhancement
:
JavaScript
功能,或没有开启JavaScript
功能情况下,我们解决这种问题的方式;方案荟萃扩展阅读
附录四 部分工具资源
附录五 编码规范
附录六 进阶学习
附录七 其他资源
附录八 常见问题
其他
你可能感兴趣的:(HTML(5)/CSS(3))