CSS相关知识三

CSS的transform、transition和animation属性

transform属性

(变形)

它是CSS用改变换样式的基础属性,你可以设置这个属性的不同的值,来使样式进行改变

这个属性是比较新的是,所以并不是所有的浏览器都能支持,IE8及之前的浏览器是不支持的。

因此还需要给所有浏览器提供厂商前缀

-webkit-transform:

-moz-transform:

-o-transform:

-ms-transform:

记得注意的特性:这个属性不会对周围的元素产生影响。

transform的功能:一定要在使用的时候加上厂商前缀

1:rotate:旋转,给他提供一个0-360deg之间的值,他就会相对之前的值进行修改

2:scale:缩放,调整尺寸,例子:transform:scale(2);这个例子表示的是让该元素方法两倍。

括号内的数字表示的是缩放的倍数,要乘以当前的尺寸。

注意,当你放大一个元素的时候,它是不会对周围元素造成影响的,浏览器不会将它周围的元素移开,所以会发生的情况是,当你放大一个元素的时候,他很有可能会覆盖掉其他项目

css还给它提供了两个功能:沿着X轴缩放和沿着Y轴缩放,scaleY和scaleX两个值

有一个很有趣的可视化效果,当你给scale设置为负值的时候,可以让一个元素来回翻转。相当于给元素设置了一个镜像图

3:translate:使位置发生改变,单独使用并没有什么卵用,和transition属性结合起来才正真有趣

4:skew:倾斜;它是沿着x轴和Y轴进行倾斜的,你在使用的时候可以通过自己的需求让其进行相应的偏转,他也有两个函数,分别对应X轴和Y轴

origin:选取旋转时候的中心点:

系统在进行初始设置的时候,他的默认值是中心点,你可以通过设置orgin来改变旋转的焦点

例子:让标签以左上角围绕着左上角旋转:

transform-origin:left top(左上角)

transition

为了让teansition生效,需要做以下几件事情:

1:两个样式,一个为初始的样式,另一个是变换后的样式,web将以动画的形式来处理这个变化的过程

2:transition属性,定义动画开始之前的元素外观的样式

3:触发器,一般的所谓的触发器就是通过伪类来做触发器,最常见的就是用:hover来做触发器,

如何使用这个函数:

css transition的核心是用4个属性控制,要以动画展示哪些属性、动画过程要持续多长时间、要用什么类型的动画,以及动画开始之前要不要延迟

1:第一个属性,transition-property,表示要以动画形式展示哪些属性,你可以指定属性,也可以使用关键字all。需要变化的属性之间,用逗号(,)隔开。

2:指定动画持续多上时间,transition-duraction 这个属性是以秒或者毫秒来做单位的。

可以针对不同的变化属性设置不同的过程时间,之间用逗号隔开。

注意,transition和transform一样很多浏览器都是不支持他们的,所以必须在使用之前加上供应商前缀。

-webkit-transition: width 2s,height 2s,transform 2s;-moz-transition:width 2s,height 2s,transform 2s;-ms-transition: width 2s,height 2s,transform 2s;-o-transition: width 2s,height 2s,transform 2s;transition: width 2s,height 2s,transform 2s;

如果你想让初始的效果都发生变化,也可以使用all关键字来取代这些,独立的属性设计;

-webkit-transition:all s;

-moz-transition:all 2s;

-ms-transition:all 2s;

-o-transition:all 2s

transition: all 2s;

IE9及其之前的浏览器都不支持这个属性

如何给transition定时

transition-timing-function属性来控制变化的速度。

transition-timing-function的属性值可以为以下的任意一个关键字:

1:linear

2:ease 系统默认的属性(开始的时候会很慢,中间很快,最后又减速)

3:ease-in

4:ease-out

5:ease-in-out;

要给transition属性添加厂商前缀,这样才能使更多的浏览器来兼容它。

延迟启动:transition-delay:

transition-delay:x;

这个属性可以设置延迟启动,这个属性也需要设置供应商前缀。

小技巧:

使用css下拉菜单有一个问题就是,当你一不小心让鼠标离开了菜单之后,菜单会很快的就消失了,但是你可以使用transition-delay属性让菜单迅速显示,然后缓慢的消失。

在初始样式中添加代码:

transition-delay:5s;

并且在:hover中不要添加延迟:

transition-delay:0;

transition的快捷写法:

transition:all 1s ease-in .5s;

顺序是:列出属性,延迟时间,定时函数

animation

使用transition是,只能从一组css属性转变到另一组css属性。css3 animation则可以从一组属性转变到另一组属性,在转变到另一组属性。此外,也可以让某一个动画重复,或者当鼠标经过时停止,甚至让动画结束后立即自动返回。

CSS3的animation比transition更加复杂一点,好处:

1:你可以不需要触发动画。

2:也可以给:hover状态添加一个动画,使得鼠标经过一个元素时播放该动画。

3:当访问者初次访问你的网站时,它可以通过在网页上播放动画。

创建动画有两个步骤

1:定义动画。包括创建关键帧,即列出要创建动画的CSS属性。

2:将动画应用到元素上。

这个属性也是需要添加厂商前缀的,但是不用针对IE的供应商前缀-ms-,因为IE 9及更早的版本不支持CSS animation,IE10则支持没有前缀的@keyframes语法。

如何应用animation

1:创建动画(利用@keyframs规则创建淡入淡出动画)

@keyframes fadeIn {from{opacity: 0;}to{opacity: 1;}}

2:将动画应用给元素

.announcement{width: 100px;height: 100px;background: green;animation: fadeIn 3s;}

注意,一定要加前缀

如何给animation加定时

1:animation-duration属性;

2:内建关键字方法(linear,ease,ease-in,ease-out,ease-in-out),让动画一开始很慢,最后迅速结束。

这些与transition-timing-function属性是一样的。

如何完成animation

如果你想让动画运行10次,那么可以将以下的代码添加到要创建的动画样式中:

animation-iteration-count:10

浏览器一般只运行一次动画,如果那正是你想要的,就可以不要使用这个animation-iteration-count属性。

如果你希望动画继续运行,那么可以使用animation-iteration-count属性,并使用关键字infinite。

如果你希望,浏览器往复的实现动画,那么可以设置关键字:alternate

提示:

为了让一个动画运行一定的次数,并且最终回到最初的状态,可以使用偶数迭代次数,并且设置属性为alternate。

当动画完成后,浏览器会突然将动画变回以前的样子,animation提供了一个属性让动画保存到动画结束的样子。

animation-fill-mode:forwards;

表格和表单的格式化

对应的标签:

<table> <caption> <colgroup> <thead> <tbody> <tr>行  <th>单元格的标题 <td>单元格的内容

给表格定义样式

padding(table设置padding属性是完全不起作用的)

设置padding可以控制单元格内容和单元格边框之间的距离

调整垂直对齐和水平对齐

水平对齐:text-align:center居中(left right)这是一个可以被继承的属性

垂直居中:vertical-align:就收四个值 top(单元格顶部) baseline(基线) middle(内容居中) bottom(底部)

这个属性是不会被继承的,只能直接加在th td上

创建边框

当你对表格单元应用边框时,会在表格和单元格之间留下一条明显可见的间隙,为了控制边框的显示,必须充分理解<table>标签的cellsapcing属性和CSS的border-coolapse属性

控制表格单元之间的空格。

border-spacing属性,用来控制这条间隙,并且如果你希望删除浏览器通常会在单元格之间显示的那部分空格,可以将border-spacing的值设置为0;

table{

border-spacing:0;

}

当然如果你喜欢单元格之间有空格,你可以设置这个属性。

消除双边框

最有效的办法就是利用 border-coolapse属性。它接受两个值:separate和collapse。

separate表示默认的显示方式,会产生双边框。

collapse表示取消了单元格的双边框。

table{ border-collapse:collapse; }

注意:

如果设置了collapse属性则border-spacing则不会在起作用。

圆角

利用broder-radius属性可以制作圆角。

注意:

如果设置了collapse属性,那么浏览器将会忽略为表格单设置的圆角,直接输出正方形。

ps:给表单设置样式在我看来就是给盒子模型设置样式,可以把表单看成一个个的小盒子拼接起来,所以不用纠特殊的方法,就用最常规的方法去实现对表单的样式设计。

给行和列定义样式

设置隔行不一样的样式,通过nth-of-type选择器来实现。

tr:nth-of-type(odd){}//设置奇数行的样式

tr:nth-of-type(even){}//设置偶数行的样式

如果你想让特定的行具有这些特性,而不是所有行,那么就可以创建一个特殊的类,然后用派生的方法来设置。

注意:

一般来说浏览器会留下那些空白的单元格,如果你想影藏这些单元格的话可以设置empty-cells:hide;

table{empty-cells:hide;}

但是,如果你设置了coolapse属性的话,浏览器依然会显示出空白的格子。

HTML的表单元素

一下是一些常见的HTML表单元素

fieldset

legend

text fields

bottons

drop-down menus

checkbox和radio button

利用CSS布置表单

1:每个label(标签)都用一个tag(标签)包围起来。

2:将display属性值设为inline-block,并设置宽度。

3:调整样式

css布局简介

网页设计的两种类型:固定宽度或者流式。

固定布局:可以让你最大最大限度的控制设置的展现效果,但是对部分访问者会造成不便。小浏览器的用户会有看不到的内容展示,大浏览器的用户会浪费很多空间

流式布局:会根据浏览器窗口的大小进行伸展或者收缩,会根据不同的分辨率使用不同的设计。

固定宽度:常用的使用固定宽度法,许多固定宽度都设计在1000px宽度以下,使浏览器的滚动条和其他部件所占的窗口和空间在1024px x 768px 之内,最常见的宽度就是960px 这种设计正在被广泛使用。

流式布局:流式布局就是所谓的自适应布局,他会根据不同的浏览器分辨率产生不同的呈现效果。但是在超大型的显示器上的时候,这个设计就有点可笑了,文本会变得很长,不宜阅读。

响应式设计:其实就是根据不同的浏览器分辨率提出不同的布局样式,比起前两种,会显得非常复杂。

注意:max-width和min-width属性是固定宽度设计和流式设计的一种折中。

设计页面:先从内容入手,从最本质的东西开始,找到你的页面的是做什么的,你的着重点是什么,先把你要突出的主体现出来。之后再考虑你的样式问题。

layoutGala网站上提供了40种不同的CSS样式

Gridinator 提供了一种简单的工具,可以用来创建复杂的多的网格系统。

时间: 2024-09-30 19:46:49

CSS相关知识三的相关文章

CSS相关知识

CSS的优势: 1:样式表提供了远比HTML多得多的格式化选择. 2:在给网页添加背景的时候,你要确定他要如何平铺(重复等一系列的属性) 3:CSS占用的空间也远比HTML的格式化选项要少得多,加载速度更快 4:可以设置多种样式样式表,更具不同的需求提供不同的风格,样式更加独立 文档类型: 所有网页都是一个doctype(文档类型)开头的,表示网页用哪一种HTML来编写 HTML的工作原理 1:网站的第一行是DOCTYPE声明, 2:<html></html>如果把一个网页比作成一

CSS 相关知识总结

1 什么是CSS? CSS全称(Cascading Style Sheets)是一门指定文档该如何呈现给用户的语言. 2 为何使用CSS? CSS 文档信息的内容和如何展现它的细节想分离,文档细节即为样式(style).你可以将样式与内容进行分离出来,以便我们能够 避免重复 更容易维护 为不同的目的,使用不同的样式而内容相同 3 CSS 如何工作的? 浏览器在展示一个文档内容的时候,必须要把文档和样式信息结合起来展示.这个处理过程一般分为两个阶段: 1 浏览器先将标记语言和CSS转换成DOM(文

html5 之 canvas 相关知识(三)API-strokeStyle-shadow相关

strokeStyle定义和用法 strokeStyle 属性设置或返回用于笔触的颜色.渐变或模式. context.strokeStyle=color|gradient|pattern;//指示绘图填充色的CSS颜色值|用于填充绘图的渐变对象线性或放射性|用于填充绘图的 pattern 对象 实例 1 绘制一个矩形.使用渐变笔触: <canvas id="canvas" width=300 height=150></canvas> <script>

程序员面试笔试宝典学习记录(三)(数据库相关知识)

关系数据库系统与文件数据库系统的区别如下: (a)关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化. (b)关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件. (c)文件数据库系统可以实现多媒体文件管理,支持C/S工作模式. acid,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability). 数据查询:select sele

Java复习第三天---集合框架的相关知识

集合框架总览: Collection 接口常用方法 //1.add()向集合中添加数据 c.add(apple01); c.add(apple02); c.add(apple03); c.add(apple04); c.add(apple05); //2.isEmepty()检测当前集合是否为空 boolean empty = c.isEmpty(); System.out.println("is empty:"+empty); //3.size()返回当前集合的长度 int size

python实现单例模式的三种方式及相关知识解释

python实现单例模式的三种方式及相关知识解释 模块模式 装饰器模式 父类重写new继承 单例模式作为最常用的设计模式,在面试中很可能遇到要求手写.从最近的学习python的经验而言,singleton实现的四种方法都是python的重要特征,反过来也刚好是几种特征的最佳实现.(比如你平常开发中很难遇到几个需要写元类的地方)如果不能随手写出某种实现,说明你对于那种实现的概念还没有完全掌握.最近场通过写装饰器模式的singleton来复习装饰器概念. 1. module实现 #模块实现 from

HTML、CSS基础知识(三)

1.CSS样式 方式一:在head标签中增加style标签,在style标签中写CSS样式 方式二:在body中,直接在使用的标签中增加style属性,进行CSS编写 方式三:通过link标签引入写好的CSS样式表 <link rel="stylesheet" href="xx.css"> 接下来讲的都是方式一 2.ID选择器 ID选择器以#号来定位,所以在style标签中写样式时,要以#开头,一个HTML页面不可以存在相同的id <!DOCTYP

css基本知识

1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets),是一种用来表现 HTML 文档样式的语言,样式定义如何显示 HTML 元素,是能够真正做到网页表现与结构分离的一种样式设计语言.样式通常存储在样式表中,外部样式表通常存储在 CSS 文件中,多个样式定义可层叠为一. HTML 标签被设计为用于定义文档内容,也就是文档结构,为了增强代码的可读性,实现网页结构与表现相分离的原则,万维网联盟(W3C),肩负起了 HTML 标准化的使命,并在 HTML4 之外创造出

[HTML &amp; CSS] HTML和CSS基础知识

最近将博客简单地修饰了下,需要用到HTML和CSS代码,花了一天时间学习了一下这两方面的知识.虽然内容很简单,但是足够用来修改自己的博客了. 1. HTML 1.1. HTML介绍 HTML与CSS的关系 HTML 网页内容的载体,内容包含文字.图片.视频等. CSS 网页的样式,即表现,包含标题字体.颜色.边框等. JavaScript 实现网页上的特效效果. HTML文件的基本结构 <html> <head>…</head> <body>…</bo