学习HTML5的第二周

---恢复内容开始---

这是我学习H5的第二周,在本周,我独立完成了一个网站的首页和一个二级页,虽然在做网页的时候我遇到了许多问题,但我自己想办法解决了其中的大部分,只留下了一小部分没有头绪的问题等待解决。接下来我将记录本周的主要学习内容。

周一,我们学习了css的盒子模型,我们主要用的有两种,第一个是content-box,也叫标准盒模型,给它设置宽高的时候只包括content;

第二个是border-box,它叫做怪异盒子,它的宽高包括padding,border和content。在实际操作中我比较常用这一种盒子模型来操作,调整方式:box-sizeing: ;。

接下来我们学习的是四个属性,包括:margin 外边距,border 边框,padding 内边距,

它们的属性值:

一。margin属性值最多有四个
1.只写一个值:四个方向margin均为这个值.
2.写两个值:上,右两个方向,下默认等于上,左默认等于右.
3.写三个数:上,右,下三个方向,左默认等于右.
4.写四个数:上右下左四个方向
5.写三个值加auto:控件居右显示
margin: 10px 10px 10px auto;居父容器右侧10px。
6.margin:0 auto;设置控件在父容器中水平居中。

二。border有三个属性值:宽度 width 样式style 颜色color
原则上三个都要指定。(color不写时默认为黑色。)

三。padding使用方式同margin1-4.

注意:使用padding会将整个控件撑大,使用时需注意控件可视区域的实际大小.(content-box中)

之后我们又学了几个新的属性:

[border-radius 圆角]
 1、可以接受8个属性值: X轴(左上、右上、右下、左下)/Y轴
 例如:border-radius: 50px 50px 50px 50px / 50px 50px 50px 50px;
 2、只写X轴时,Y轴默认等于X轴。只写左上角,默认=右下角。只写右上角,默认=左下角
例如:border-radius: 50px 0px ;
=border-radius: 50px 0px 50px 0px;
=border-radius: 50px 0px 50px 0px/50px 0px 50px 0px;
 3、只写一个数,默认8个值均相等。

[box-shadow 盒子阴影]
1、六个属性值,空格分割:
 x轴阴影距离:(必选) 可正可负,正——右移 负——左移
 y轴阴影距离:(必选) 可正可负,正——下移 负——上移
 阴影模糊半径:(可选) 只能为正,默认为0。数值越大,阴影越模糊
 阴影扩展半径:(可选) 可正可负,默认为0。数值增大,阴影扩大。数值减小,阴影缩小
 阴影颜色:(可选) 默认为黑色
 内外阴影:(可选) 可选值:inset(内阴影) 默认为外阴影

[border-image 图片边框]
 1、十个属性:
 ① 图片路径:url()
 ② 图片切片宽度:4个值,分别代表上、右、下、左,四条切线。
 通过四条切线切割后,会把图片分成九宫格,
 四个角分别对应边框的四角(不会进行任何拉伸),
 四个边分别对应边框的四边(根据设置进行拉伸/平铺/铺满)。
 写的时候,不能带px单位
 ③ 图片边框的宽度:4个值,分别代表上、右、下、左四条边框
 写的时候,必须带px单位
 ④ 边框背景重复方式:stretch(拉伸)、round(铺满)、repeat(平铺)
 【铺满和平铺区别】
 平铺:会保持原有四条边的宽度,进行平铺。可能导致角落处无法显示完整一个图标;
 铺满:会对四条边进行适当的拉伸压缩,确保可以正好显示完全。

 2、属性值写法:border-image: ① ②/③px ④;
 第②部分可以只写1个、2个、3个,判断方式同margin

接下来就是很重要的定位属性

[绝对定位 absolute]
 1.使用position: absolute;设置元素为绝对定位元素。
 2.绝对定位的定位机制:
 (1).相对于第一个非static(用了relative,absolute,fixed)
 的祖先元素来定位。
 (2).如果所有祖先元素均无定位,则相对与浏览器左上角定位。
 (3).使用absolute定位会使元素从文档流中被完全删除。原有空间被释放不再占有。
 [固定定位 fixed]
 1.position: fixed;是一种特殊的绝对定位,父容器无法使用relative
 锁定。
 2.定位机制:永远相对于浏览器定位。
 [z-index 属性]
 1.作用设置定位元素的z轴层叠顺序。
 2.使用要求:
 (1).必须是定位元素才可以使用。absolute,relative,fixed。
 (2).使用z-index需考虑父容器的约束,如果父容器的z-index为auto则
 子元素的z-index不受其约束,若父容器z-index进行了设置,则子容器
 的层叠以父容器为准。(同一父容器的不同子元素仍可用z-index调节)
 3.z-index:auto和z-index:0的异同
 (1).auto为默认值,与0处于同一平面。
 (2).z-index:auto不会约束子元素的z-index层次,而z-index
    会约束子元素必须与父元素在同一平面。
 4.z-index处于同一平面的定位元素的层叠关系:后来者居上。
clip: rect(top,right,bottom,left);
 用于裁剪元素。

绝对定位的一些应用方式:

绝对定位元素的水平居中方式 垂直居中将left改为top,margin-left改为margin-top。
 一.实现块级元素在块级元素中的居中方式。需设置子容器为定位元素。
 1.left: 50%;
 2.设置margin-left为负width的一半。
 margin-left: -50px;
 二.使用负边距可以扩大元素宽度。使用这个方式不能指定元素宽度。
 1.不指定子容器宽度,指定宽度或填充内容。
 2.margin:0px -50px;使子元素左右超出父容器50px。
 3.双飞翼布局(了解)。可保证主布局的优先加载。

三。第二部分应用:解决div中多个li间距问题。(ul中加负margin)。

display属性设置元素的级别
 属性值
 none:隐藏元素,元素所占空间释放。
 block 把元素变为块级元素。
 inline-block:设为内联块级元素(本身是行级元素但是有块级元素的各种属性
 如宽,高,text-align等)。
 linline:设为内联元素(行级元素)。

[相对定位 relative]
 1.使用position: relative;设置元素为相对定位的元素;
 2.定位机制:
 (1).相对于自己原来文档流中的位置进行定位,
 当不指定top等定位值时不会改变元素位置。
 (2).相对定位元素仍会占据原有文档流中的位置,而不会释放。
 3.使用top,left,right,bottom调整位置,当left和right
 同时存在left生效,top,bottom同时存在,top生效。

CSS3长度单位
em:相对长度单位。相对于当前对象内文本的字体尺寸。
rem:相对长度单位。相对于根元素(即html元素)font-size计算值的倍数 。
px:像素
%:
background-origin:(背景图从那开始铺满,不改变背景图大小。)
padding-box: 从padding区域(含padding)开始显示背景图像。
border-box: 从border区域(含border)开始显示背景图像。
content-box: 从content区域开始显示背景图像。
background-clip:(背景图和背景色的显示区域,会改变背景图背景色大小。)
padding-box: 从padding区域(不含padding)开始向外裁剪背景。
border-box: 从border区域(不含border)开始向外裁剪背景。
content-box: 从content区域开始向外裁剪背景。
text: 从前景内容的形状(比如文字)作为裁剪区域向外裁剪,如此即可实现使用背景作为填充色之类的遮罩效果.
transform:定义变换
常用变换:translate() 平移
rotate() 旋转
scale() 缩放
可同时进行多个变换,变换之间用空格分割。
例:transform:scale(1.5,1.5) translatey(0px) rotate();
transform-origin:定义变形起点。
可选值:left、center、right top、center、bottom。
或者直接写xy坐标
例:transform-origin:right bottom;
transition:属性定义过渡:
1.参与过渡的属性:可单独指定某个css属性,也可以用all、none。
2.过渡开始到结束的时间 .3s .5s等
3.过渡样式函数:常选ease
4.过渡开始前的延迟时间,可省略。
transition可以同时定义多个属性的过渡效果,用逗号分隔
必须加在选择器上不能加在伪类选择器上。

[css3动画的使用]
1.声明一个动画(关键帧)
keyframes name{
from{}
to{}
2.在css选择器中使用动画Animation属性调用声明好的关键帧。
Animation属性:
name: 检索或设置对象所应用的动画名称
duration: 检索或设置对象动画的持续时间
timing-function: 检索或设置对象动画的过渡类型
delay: 检索或设置对象动画延迟的时间
iteration-count: 检索或设置对象动画的循环次数
direction: 检索或设置对象动画在循环中是否反向运动
(normal: 正常方向
reverse: 反方向运行
alternate: 动画先正常运行再反方向运行,并持续交替运行)
fill-mode: 检索或设置对象动画时间之外的状态
(forward停留在结束状态,backword停留在开始状态)
动画名称和动画持续时间必须设置,Animation可以设置多个动画,之间用逗号分隔。
【注意事项】
1.每个阶段用百分比表示从0%到100%
2.起止必须设置即0%和100%或from和to

最后是html的新增属性:

【HTML5表单属性】
1.form:指向特定表单id,实现input无需放于form中,即可通过form提交。
2.formaction/formmethod:设置某个submit按钮提交到指定的action地址,
使用指定的method方法,会覆盖form中的action和method方法。
3.placeholder:自动提示
4.autofocus:自动获得焦点
5.autocomplete:自动输入完成
6.list:为input绑定一组指定的datalist提示信息写法:
<input type="text" name="" value="" list="data1"/>
<datalist id="data1">
<option>1234</option>
<option>1234</option>
<option>1234</option>
<option>1234</option>
</datalist>
datalist具有和autocomplete类似的自动筛选完成功能。

这是我做的首页和二级页:

学习HTML5的第二周学习HTML5的第二周

上一篇:[Linux] Git: 基本使用


下一篇:LintCode StrStr