The document discusses CSS3 transitions, transforms, and animations. It provides examples of how to use transforms like scale, rotate, skew, and translate on elements. It also covers transitions between property changes over durations, and lists animatable CSS properties that can be transitioned. The document recommends using Modernizr for feature detection to check browser support for CSS3 features.
presented at SIGGRAPH 2014 in Vancouver during NVIDIA's "Best of GTC" sponsored sessions
http://www.nvidia.com/object/siggraph2014-best-gtc.html
Watch the replay that includes a demo of GPU-accelerated Illustrator and several OpenGL 4 demos running on NVIDIA's Tegra Shield tablet.
http://www.ustream.tv/recorded/51255959
Find out more about the OpenGL examples for GameWorks:
https://developer.nvidia.com/gameworks-opengl-samples
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS104.html
Date: Wednesday, August 8, 2012
Time: 11:50 AM - 12:50 PM
Location: SIGGRAPH 2012, Los Angeles
Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Get OpenGL 4.3 beta drivers for NVIDIA GPUs from http://www.nvidia.com/content/devzone/opengl-driver-4.3.html
Creating Custom Charts With Ruby Vector GraphicsDavid Keener
RVG is a drawing API modeled after the Scalable Vector Graphics (SVG) standard. RVG is bundled with RMagick, which is a Ruby interface to the ImageMagick library. Learn how to use RVG to create custom charts that can be integrated directly into web sites. The presentation provides a general introduction to RVG, then illustrates the use of RVG in a web application that displays nearby stars in a generated perspective diagram.
Presented September 30, 2009 in San Jose, California at GPU Technology Conference.
Describes the new features of OpenGL 3.2 and NVIDIA's extensions beyond 3.2 such as bindless graphics, direct state access, separate shader objects, copy image, texture barrier, and Cg 2.2.
presented at SIGGRAPH 2014 in Vancouver during NVIDIA's "Best of GTC" sponsored sessions
http://www.nvidia.com/object/siggraph2014-best-gtc.html
Watch the replay that includes a demo of GPU-accelerated Illustrator and several OpenGL 4 demos running on NVIDIA's Tegra Shield tablet.
http://www.ustream.tv/recorded/51255959
Find out more about the OpenGL examples for GameWorks:
https://developer.nvidia.com/gameworks-opengl-samples
Video replay: http://nvidia.fullviewmedia.com/siggraph2012/ondemand/SS104.html
Date: Wednesday, August 8, 2012
Time: 11:50 AM - 12:50 PM
Location: SIGGRAPH 2012, Los Angeles
Attend this session to get the most out of OpenGL on NVIDIA Quadro and GeForce GPUs. Learn about the new features in OpenGL 4.3, particularly Compute Shaders. Other topics include bindless graphics; Linux improvements; and how to best use the modern OpenGL graphics pipeline. Learn how your application can benefit from NVIDIA's leadership driving OpenGL as a cross-platform, open industry standard.
Get OpenGL 4.3 beta drivers for NVIDIA GPUs from http://www.nvidia.com/content/devzone/opengl-driver-4.3.html
Creating Custom Charts With Ruby Vector GraphicsDavid Keener
RVG is a drawing API modeled after the Scalable Vector Graphics (SVG) standard. RVG is bundled with RMagick, which is a Ruby interface to the ImageMagick library. Learn how to use RVG to create custom charts that can be integrated directly into web sites. The presentation provides a general introduction to RVG, then illustrates the use of RVG in a web application that displays nearby stars in a generated perspective diagram.
Presented September 30, 2009 in San Jose, California at GPU Technology Conference.
Describes the new features of OpenGL 3.2 and NVIDIA's extensions beyond 3.2 such as bindless graphics, direct state access, separate shader objects, copy image, texture barrier, and Cg 2.2.
Theming in Ext GWT 3.0 now uses the GWT Appearance pattern and utilizes GWT ClientBundle and CssResource. This session will provide a detailed overview of how theming works and how to extend and create new themes.
Most designers and front-end developers know how to use CSS 3 features on their DotNetNuke websites. From rounded corners to media queries, CSS 3 is now widely used, but there are many additional useful CSS features you may not be aware of. We will discuss some lesser-known CSS properties—both decorative and functional—and demonstrate how to best integrate them into your skins, containers, and modules.
SVGo is a Go programming language library for generation of SVG. The talk discusses the design of the library, the concept of sketching in code, and the development of visualizations and tools.
Solving CSS Problems With eCSStender - An Event Apart - Chicago 2009Aaron Gustafson
Though the web is constantly evolving, browsers and standards bodies have been struggling to keep up. This is where eCSStender comes in. eCSStender is an open source JavaScript library that helps make CSS better by generating a platform that serves the dual need of smoothing out browser inconsistencies and innovating the language. In this session, Mr. Gustafson will debut eCSStender, show you how it works, and demonstrate how it can be used to solve real problems with CSS right now. At the end of this session, you will be able to wave goodbye to -moz- this and -webkit- that and say hello to using CSS the way it is meant to be.
Theming in Ext GWT 3.0 now uses the GWT Appearance pattern and utilizes GWT ClientBundle and CssResource. This session will provide a detailed overview of how theming works and how to extend and create new themes.
Most designers and front-end developers know how to use CSS 3 features on their DotNetNuke websites. From rounded corners to media queries, CSS 3 is now widely used, but there are many additional useful CSS features you may not be aware of. We will discuss some lesser-known CSS properties—both decorative and functional—and demonstrate how to best integrate them into your skins, containers, and modules.
SVGo is a Go programming language library for generation of SVG. The talk discusses the design of the library, the concept of sketching in code, and the development of visualizations and tools.
Solving CSS Problems With eCSStender - An Event Apart - Chicago 2009Aaron Gustafson
Though the web is constantly evolving, browsers and standards bodies have been struggling to keep up. This is where eCSStender comes in. eCSStender is an open source JavaScript library that helps make CSS better by generating a platform that serves the dual need of smoothing out browser inconsistencies and innovating the language. In this session, Mr. Gustafson will debut eCSStender, show you how it works, and demonstrate how it can be used to solve real problems with CSS right now. At the end of this session, you will be able to wave goodbye to -moz- this and -webkit- that and say hello to using CSS the way it is meant to be.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
4. CSS Transforms
“The
2D
Transforma/ons
Module
defines
a
property
that
applies
rota/ons,
transla/ons
and
other
affine
transforma/ons
to
a
box.”
In
the
2D
space,
think
of
the
transform
controls
in
your
favorite
graphics
program
Scale
Rotate
Skew
Translate
Wednesday, November 2, 2011
5. Ready When You Are
CSS3
Transforms
can
be
applied
to
any
element
—
which
now
also
includes
generated
content
Transforms
are
applied
immediately
at
the
;me
the
page
is
rendered
When
applied
to
an
element,
all
the
children
are
transformed
as
well
Transforms
can
also
be
triggered
via
a
pseudo
class
or
Javascript
Wednesday, November 2, 2011
6. transform: scale()*
.square
{
height:
250px;
width:
250px;
background-‐color:
rgb(171,
38,
41);
}
becomes
.square
{
height:
250px;
width:
250px;
background-‐color:
rgb(171,
38,
41);
transform:
scale(2);
}
*scaleX
and
scaleY
are
also
possible
Wednesday, November 2, 2011
8. If only it were that simple...
As
individual
browsers
add
support
for
transforms
(and
transi%ons),
they
use
vendor-‐
specific
prefixes.
You
should
list
the
vendor
specific
implementa%ons
first.
The
actual
CSS
property
(without
a
browser
prefix)
should
always
be
last.
If
you
aren’t
confident
coding
the
vendor-‐specific
prefixes
yourself,
you
can
use
CSSPrefixer.
Wednesday, November 2, 2011
13. Transform-origin
By
default,
all
transforms
occur
“around”
the
center
of
the
object
(x=50%,
y=50%)
.square:hover
{
transform:
rotate(45deg);
}
origin
Wednesday, November 2, 2011
14. Transform-origin
.square:hover
{ origin
transform:
rotate(45deg);
transform-‐origin:
right
top;
}
leZ,
center,
right
and
top,
center,
boXom
.square:hover
{
transform:
rotate(45deg);
transform-‐origin:
100%
100%;
}
the
point
of
origin
can
even
be
origin
outside
of
the
object
itself
[browser
specific
varia;ons
inten;onally
omiXed]
Wednesday, November 2, 2011
19. Modernizr - Feature Detection
Link
to
the
script
&
add
<html
class=”no-‐js”>
Modernizr
changes
the
no-‐js
class
to
a
long
string
of
classes
that
you
can
use
to
serve
different
CSS
or
JS
to
a
browser
depending
on
its
lack
of
capabili%es.
ie:
<html
class=”
js
canvas
canvastext
geoloca/on
crosswindowmessaging
no-‐websqldatabase no-‐indexeddb
hashchange
no-‐historymanagement
draganddrop
no-‐websockets
rgba
hsla
mul/plebgs
backgroundsize
borderimage
borderradius
boxshadow
opacity
no-‐cssanima/ons
csscolumns
cssgradients
no-‐
cssreflec9ons
csstransforms
no-‐csstransforms3d no-‐csstransi9ons
video
audio
localstorage
sessionstorage
webworkers
applica/oncache
svg
no-‐smilsvgclippaths
fonLace”>
Wednesday, November 2, 2011
20. Transforms – based on abilities
.no-‐csstransforms
#foo
#soo
{
display:block;
}
Or
write
CSS
so
it’s
only
shown
to
capable
browsers:
.csstransforms
#foo
{
transform:
rotate(10deg);
}
Wednesday, November 2, 2011
22. Transitions
4 10 10
Wednesday, November 2, 2011
23. :hover - before CSS3
nav
li
a
{
background-‐color:
rgb(0,0,0);
}
nav
li
a:hover
{
background-‐color:
rgb(86,
125,33);
}
Wednesday, November 2, 2011
24. CSS Transitions
CSS
Transi%ons
allows
property
changes
in
CSS
values
to
occur
smoothly
over
a
specified
dura%on.
Transi%ons
can
be
thought
of
as
anima%ons
in
their
simplest
form.
Only
animatable
CSS
proper%es
can
be
transi%oned.
Wednesday, November 2, 2011
26. Anatomy of a Transition
keyframe
(rule
1)
tween
keyframe
(rule
2)
Wednesday, November 2, 2011
27. Basic Anatomy of a Transition
Basic
styling
of
the
element
in
rule
1
It
may
contain
proper;es
that
won’t
be
modified
The
proper;es
to
be
“animated”
are
iden;fied
with
the
transi;on
property
Rule
2
contains
the
modifica;ons
to
the
element
&
uses
a
pseudo-‐class
(:hover,
:focus,
:target)
to
trigger
the
transi;on
OR
Javascript
can
also
be
used
to
trigger
a
transi;on
Wednesday, November 2, 2011
28. :hover - with CSS3 transitions
nav
li
a
{
background-‐color:
rgb(0,0,0);
transi%on-‐property:
background-‐color;
transi%on-‐dura%on:
1s;
}
nav
li
a:hover
{
background-‐color:
rgb(86,
125,33);
}
Wednesday, November 2, 2011
29. Property Listings
In
the
previous
example,
only
a
single
property
was
transi;oned:
transi;on-‐property:
background-‐color;
Mul;ple
proper;es
can
be
defined
at
one
;me:
transi;on-‐property:
background-‐color,
padding,
font-‐size,
color;
or
transi;on-‐property:
all;
Wednesday, November 2, 2011
30. Time it Right!
The
dura%on
of
the
transi%on
is
determined
by
the
transi%on-‐dura%on
property.
Time
can
be
designated
in
seconds
or
milliseconds
transi%on-‐dura%on:
2s;
transi%on-‐dura%on:
500ms;
Time
is
not
precise
and
can
vary
slightly
between
browsers
Wednesday, November 2, 2011
33. Transition Speed
By
default,
transi%ons
play
at
a
constant
rate
(called
linear).
The
transi%on-‐%ming-‐func%on
allows
you
to
specify
a
variable
rate
of
speed
for
the
transi%on
linear ease-‐out
ease ease-‐in-‐out
ease-‐in cubic-‐bezier(0,.33,1,.75)
transi%on-‐%ming-‐func%on:
ease;
Wednesday, November 2, 2011
35. Wait a Second!
By
default,
a
transi%on
will
play
immediately
when
triggered
The
transi%on-‐delay
property
allows
you
to
specify
a
period
of
%me
to
wait
before
performing
the
transi%on
As
with
the
transi%on-‐dura%on
property,
%me
can
be
specified
in
either
seconds
or
milliseconds
transi%on-‐delay:
3s;
transi%on-‐delay:
250ms;
Wednesday, November 2, 2011
36. Putting It All Together
nav
li
a
{
background-‐color:
rgb(0,0,0);
padding:
9px
5px;
transi;on-‐property:
background-‐color,
padding,
transform;
transi;on-‐dura;on:
1s;
transi;on-‐delay:
100ms;
transi;on-‐;ming-‐func;on:
ease;
}
nav
li
a:hover
{
background-‐color:
rgb(86,
125,33);
padding:
12px
5px;
transform:
rotate(-‐5deg);
}
Wednesday, November 2, 2011
38. Let’s Mix It Up
You
can
target
mul%ple
proper%es
and
assign
differing
speeds
—
all
within
the
same
rule
using
comma-‐separated
values.
nav
li
a
{
transi%on-‐property:
background-‐color,
padding,
transform;
transi%on-‐dura%on:
1s,
2s,
500ms;
transi%on-‐delay:
100ms,
0,
2s;
transi%on-‐%ming-‐func%on:
ease,
linear,
ease-‐in;
}
Wednesday, November 2, 2011
39. Transition Shorthand
Using
shorthand,
we
can
combine
all
four
of
the
transi;on
proper;es
into
a
single
property
Order
is
important
due
to
the
existence
of
2
;ming
proper;es
—
the
first
!me
value
will
be
assigned
to
transi;on-‐dura;on
and
the
last
to
the
delay
Values
are
separated
by
a
space (not
comma)
%ming-‐func%on
delay
transi%on:
all
1s
ease
100ms
property
dura%on
Wednesday, November 2, 2011
40. That’s Better
nav
li
a
{
background-‐color:
rgb(0,0,0);
padding:
9px
5px;
-‐webkit-‐transi;on:
all
1s
ease
100ms;
-‐moz-‐transi;on:
all
1s
ease
100ms;
-‐o-‐transi;on:
all
1s
ease
100ms;
transi;on:
all
1s
ease
100ms;
}
nav
li
a:hover
{
background-‐color:
rgb(86,
125,33);
padding:
12px
5px;
-‐webkit-‐transform:
rotate(-‐5deg);
-‐moz-‐transform:
rotate(-‐5deg);
-‐ms-‐transform:
rotate(-‐5deg);
-‐o-‐transform:
rotate(-‐5deg);
transform:
rotate(-‐5deg);
}
Wednesday, November 2, 2011
41. Let’s Mix It Up
It’s
also
possible
to
shorthand
the
mul%ple
proper%es
with
differing
speeds
(use
a
comma
between
the
groupings)
nav
li
a
{
transi%on:
background-‐color
1s
ease
100ms,
padding
2s
linear
0,
transform
500ms
ease-‐in
2s;
}
[placed
on
separate
lines
for
readability]
Wednesday, November 2, 2011
43. UI Enhancements
Transi%ons
and
transforms
can
be
added
to
pseudo-‐elements
(::before
and
::ajer).
The
:focus
pseudo-‐class
can
add
interes%ng
effects
to
form
elements
by
highligh%ng
the
element
with
focus.
:focus
is
also
good
to
use
in
combina%on
with
:hover
—
keyboard
navigators
have
a
visual
cue
of
their
focus
on
the
page.
Wednesday, November 2, 2011
44. Stay :focus’ed
Use
the
:focus
pseudo-‐class
to
add
interes;ng
effects
to
form
elements.
input
{
-‐webkit-‐transi;on:
border
.5s;
-‐moz-‐transi;on:
border
.5s;
-‐o-‐transi;on:
border
.5s;
transi;on:
border
.5s;
}
input:focus
{
outline:0;
border:
rgba(72,
107,
11,
.7)
9px
solid;
-‐webkit-‐border-‐radius:
6px;
-‐moz-‐border-‐radius:
6px;
border-‐radius:
6px;
}
Wednesday, November 2, 2011
46. Click If You Love Javascript
Transi%ons
and
transforma%ons
are
simply
a
change
from
one
state
of
an
element
to
another.
CSS
can
only
do
so
much
–
but
using
Javascript,
we
can
trigger
transforma%ons
and
transi%ons
for
any
catchable
event,
such
as
onload,
onchange
or
click.
jQuery
or
any
other
Javascript
framework
can
be
used.
Wednesday, November 2, 2011
49. Like Transitions on Steroids
A
CSS3
Anima;on,
animates
between
CSS
proper;es
exactly
like
transi;ons
–
however,
we
can
specify
the
number
of
;mes
it
plays
and
whether
it
plays
in
a
single
direc;on
or
both
direc;ons
-‐webkit-‐anima;on-‐itera9on-‐count:
number
or
infinite;
-‐webkit-‐anima;on-‐direc9on:
normal
or
alternate;
Anima;ons
are
named,
and
can
therefore
be
reused
by
more
than
one
CSS
rule
-‐webkit-‐anima;on-‐name:
moveIt;
Wednesday, November 2, 2011
50. I Was Keyframed, I Tell You
An
anima;on
defines
a
set
of
start
(from)
proper;es
and
a
set
of
end
(to)
proper;es
as
values
of
keyframes
assigned
to
the
named
anima;on
@-‐webkit-‐keyframes
moveIt
{
from
{
proper!es/values go here
}
to
{
proper!es/values go here
}
}
Wednesday, November 2, 2011
52. Smoothing out the bumps
As
with
transi%ons,
the
anima%on-‐%ming-‐
func%on
can
use
linear,
ease,
ease-‐in,
ease-‐out,
ease-‐in-‐out
For
more
control
over
the
look
of
the
anima%on,
addi%onal
keyframes
allow
you
to
specify
the
values
for
proper%es
at
a
certain
percentage
of
the
anima%on
Anima%ons
can
also
be
wrimen
as
shorthand
-‐webkit-‐anima;on:
name
dura;on
;ming
itera;ons
direc;on;
Wednesday, November 2, 2011
58. Animate.css
http://daneden.me/animate/
Wednesday, November 2, 2011
59. Accelerate!
-‐webkit-‐transform:
translateZ(0);
-‐webkit-‐transform:
translate3d(0,0,0)
Both
these
tricks
will
make
your
webkit
browser
believe
it
needs
to
use
the
GPU,
rather
than
the
CPU,
which
can
increase
performance.
As
always,
test
to
be
sure
performance
is
increased—and
that
you’re
not
simply
decreasing
bamery
life
for
your
user.
Wednesday, November 2, 2011
61. Putting it in Perspective
“The
3D
Transforma%ons
Module
extends
the
2D
transforma%ons
with
a
perspec%ve
transforma%on.”
Actually,
it’s
really
more
about
2.5D
—
think
postcards
in
space
X,
Y
&
Z
axis
rota%on
Perspec%ve
Applied
via
the
same
transform
property
as
2D
tranforms
(our
examples
will
use
-‐webkit-‐)
Wednesday, November 2, 2011
62. Translate in 3d
Several
new
transform
func;ons.
Remember:
transform:
translate(50px,
50px);
transform:
translateX(50px);
We
now
add:
-‐webkit-‐transform:
translate3d(x,
y,
z);
-‐webkit-‐transform:
translateZ(z);
For
the
z
axis,
a
posi;ve
number
represents
a
move
toward
the
viewer.
*
The
z
value
cannot
be
a
percentage.
Wednesday, November 2, 2011
63. 3d Scale & Rotation
In
addi/on
to
movement
(translate),
objects
can
be
scaled
and
rotated
scale3d(sx,
sy,
sz)
scaleZ(sz)
rotateX(angle)
rotateY(angle),
rotate3d(x,
y,
z,
angle)
When
rota/ng,
the
first
two
examples
rotate
an
element
around
a
horizontal
or
ver/cal
axis
defined
using
degrees
(deg),
radians
(rad)
or
gradians
(grad).
The
last
example
rotates
an
element
around
a
defined
vector
in
3D
space.
Wednesday, November 2, 2011
64. Animations
You
can
use
these
in
anima%ons
as
well:
@-‐webkit-‐keyframes
x-‐spin
{
0%
{
-‐webkit-‐transform:
rotateX(0deg);
}
50%
{
-‐webkit-‐transform:
rotateX(180deg);
}
100%
{
-‐webkit-‐transform:
rotateX(360deg);
}
}
Wednesday, November 2, 2011
65. I See Where You’re Coming From
Perspec%ve
can
be
applied
to
a
single
element
using
the
perspec%ve(p)
func%on
or
applied
to
all
the
children
of
an
element
using
the
-‐webkit-‐
perspec%ve
property
-‐webkit-‐transform:
rotateY(45deg)
perspec%ve
(400px);
-‐webkit-‐perspec%ve:
800px;
Smaller
numbers
indicate
that
the
perspec%ve
begins
closer
to
the
viewer
Wednesday, November 2, 2011
66. Stay Away From Me
By
default
the
children
of
a
transformed
element
are
flamened
into
the
parent
element
Using
-‐webkit-‐transform-‐style
allows
you
to
specify
whether
the
elements
should
follow
their
default
behavior
(flat)
or
“live”
in
the
3D
world
with
their
own
transforma%ons
(preserves-‐3d)
Wednesday, November 2, 2011