[go: up one dir, main page]

0% found this document useful (0 votes)
13 views54 pages

05 - CSS3

CSS3 enhances the capabilities of HTML5 elements and content, replacing outdated techniques and some JavaScript functionalities. It introduces new modules and features such as rounded borders, multiple backgrounds, text effects, transformations, and animations. CSS3 allows for more sophisticated styling and layout options, making web design more flexible and efficient.

Uploaded by

Ratna Ahsan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views54 pages

05 - CSS3

CSS3 enhances the capabilities of HTML5 elements and content, replacing outdated techniques and some JavaScript functionalities. It introduces new modules and features such as rounded borders, multiple backgrounds, text effects, transformations, and animations. CSS3 allows for more sophisticated styling and layout options, making web design more flexible and efficient.

Uploaded by

Ratna Ahsan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Target CSS3

 Meningkatkan “kemampuan” dari elemen dan


konten dari HTML5.
 Menggantikan beberapa teknik kuno, seperti
menggunakan gambar untuk menampilkan sudut
lengkung ataupun efek bayangan.
 Menggantikan beberapa aksi ataupun tingkah laku
yang sebelumnya hanya bisa dilakukan dengan
menggunakan javascript.
1. Introduction to CSS3
 Successor of CSS2
 It comes with new modules
 Below is a non exhaustive list of features that tend to be labelled as “css3"
in the medias:
 Some of the most important CSS3 modules are:
 Selectors
 Box Model
 Backgrounds and Borders
 Text Effects
 2D/3D Transformations
 Animations
 Multiple Column Layout
 User Interface
2. CSS3 Borders
With CSS3, you can create rounded borders, add shadow to boxes, and use an
image as a border - without using a design program, like Photoshop
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
2. CSS3 Borders
3. CSS3 Background
we will be taking a look at the new background properties.
These include background size, using more than one
background for an element, and background origin (which
effects the position of a background).

The new features allow greater control of the background


element and will provide designers with a whole array of new
possibilities.

Multiple Backgrounds

The new ability to use multiple backgrounds is a great time


saver, allowing you to achieve effects which previously
required more than one div. Whether it will be possible to
combine this with background-size will be interesting to see.

The example below uses one background for the top border,
one repeated vertically for the left and right borders and a
third at the bottom.
4. CSS3 Text effects
In this tutorial we will learn how to use CSS Styles to give stylish effects to text.
Learn how to create shadow effects, inset effects, neon style effects, glossy styles, grunge style effects
and more!
4. CSS3 Text effects
4. CSS3 Text effects
4. CSS3 Text effects
3. CSS3 Text effects
4. CSS3 fonts
Steps to Use the fonts → Convert The Fonts
We'll follow these steps to apply the fonts to your The downloaded fonts will work on most of the
webpage. browsers but won't work on IE.
→ Download Fonts To make the fonts appear on IE we'll have to convert
→ Convert them Online it to a format(eot) that IE understands.
→ Use the Stylesheet Code How to Convert
→ Use Anywhere There are many software's available on the internet,
most of them paid.
→ Download Fonts Here's a website where we can convert the TTF font
There are many website where you can download to EOT font for IE for Free!
fonts for free.
Here are few website with a huge collection of free › Online TTF To EOT converter ‹
as well as paid fonts.
Upload the font you want to convert on this website
› dafont.com, urbanfonts.com, 1001freefon and then download the converted font.
ts.com ‹ Notice the font extension before converting was TTF
after converting changes to EOT.
Choose the font you like and download it. Keep both these files in the same
folder Fonts.
4. CSS3 fonts
5. CSS3 fonts
5. CSS3 fonts
6. CSS3 shadows
6. CSS3 shadows
6. CSS3 shadows
6. CSS3 shadows
6. CSS3 shadows
6. CSS3 Transforms & Transitions
Transforms
CSS3 transform property lets you translate, rotate, scale, or skew any element on the page.
While some of these effects were possible using previously existing CSS features
(like relative and absolute positioning), CSS3 gives you unprecedented control over many more aspects
of an element’s appearance.

Translation
Translation functions allow you to move elements left, right, up, or down.

These functions are similar to the behaviour of position: relative; where you declare top and left.
When you employ a translation function, you’re moving elements without impacting the flow of the
document.

Unlike position: relative, which allows you to position an element either against its current position or
against a parent or other ancestor, a translated element can only be moved relative to its current
position.

The translate(x,y) function moves an element by x from the left, and y from the top:
6. CSS3 Transforms & Transitions
Examples
let’s say we want to move the word “dukes” over to the right when the
user hovers over it,
#ourExample h1:hover span {
color: #484848;
-webkit-transform: translateX(40px);
-moz-transform: translateX(40px);
-ms-transform: translateX(40px);
-o-transform:translateX(40px);
transform: translateX(40px);
}
6. CSS3 Transforms & Transitions
Scaling
The scale(x,y) function scales an element by the defined factors horizontally and vertically, espectively.
If only one value is provided, it will be used for both the x and y scaling.

Lets scale the same example

#ourExample h1:hover span {


color: #484848;
-webkit-transform: translateX(40px) scale(1.5);
-moz-transform: translateX(40px) scale(1.5);
-ms-transform: translateX(40px) scale(1.5);
-o-transform:translateX(40px) scale(1.5);
transform: translateX(40px) scale(1.5);
}
6. CSS3 Transforms & Transitions
Rotation
The rotate() function rotates an element around the point of origin (as with scale,by default this is the
element’s center), by a specified angle value. Generally, angles are declared in degrees, with positive
degrees moving clockwise and negativemoving counter-clockwise.
Lets scale the same example

#ourExample h1:hover span {


color: #484848;
-webkit-transform:rotate(10deg) translateX(40px) scale(1.5);
-moz-transform:rotate(10deg) translateX(40px) scale(1.5);
-ms-transform:rotate(10deg) translateX(40px) scale(1.5);
-o-transform:rotate(10deg) translateX(40px) scale(1.5);
transform:rotate(10deg) translateX(40px) scale(1.5);
}
6. CSS3 Transforms & Transitions
Skew
The skew(x,y) function specifies a skew along the X and Y axes. As you’d expect, the x specifies the
skew on the X axis, and the y specifies the skew on the Y axis.

If the second parameter is omitted, the skew will only occur on the X axis:
6. CSS3 Transforms & Transitions
Transitions
Transitions allow the values of CSS properties to change over time, essentially providing simple
animations. For example, if a link changes color on hover, you can have it gradually fade from one color
to the other, instead of a sudden change

Here are the steps to create a simple transition using only CSS:
1. Declare the original state of the element in the default style declaration.
2. Declare the final state of your transitioned element; for example, in a hover state.
3. Include the transition functions in your default style declaration, using a few different properties:
transition-property, transition-duration,transition-timing-function, and transition-delay.

list of properties that can be transitioned


■ background-color and background-position ■ border-color, border-spacing, and border-width
■ bottom, top, left, and right ■ clip ■ color ■ crop ■ font-size and font-weight ■ height and width
■ letter-spacing ■ line-height ■ margin ■ max-height, max-width, min-height, and min-width
■ opacity ■ outline-color, outline-offset, and outline-width ■ padding ■ text-indent ■ text-shadow
■ vertical-align ■ visibility ■ word-spacing ■ z-index
6. CSS3 Transforms & Transitions
Transition-duration
The transition-duration property sets how long the transition will take. You can specify this either in
seconds (s) or milliseconds (ms). We’d like our animation tobe fairly quick, so we’ll specify 0.2
seconds,
or 200 milliseconds:
6. CSS3 Transforms & Transitions
Transition-timing-function
The transition-timing-function lets you control the pace of the transition in even more granular detail.
Do you want your animation to start off slow and get faster, start off fast and end slowe
You can specify one of the key terms ease, linear, ease-in, ease-out, or easein-out.
The best way to familiarize yourself with them is to play around and try them all.
6. CSS3 Transforms & Transitions
Transition-delay
Finally, by using the transition-delay property, it’s also possible to introduce a delay before the
animation begins. Normally, a transition begins immediately, so the default is 0. Include the number of
milliseconds (ms) or seconds (s) to delay the transition:
6. CSS3 Transforms & Transitions
Transition-shorthand property
With four transition properties and three vendor prefixes, you could wind up with 16 lines of CSS for a
single transition. Fortunately, as with other properties, there’s a shorthand available. The transition
property is shorthand for the four transition functions described above. Let’s take another look at our
transition so far:
shorthand

Note that order of the values is important and must be as follows (though you don’t need to specify all
four values):
1. transition-property
2. transition-duration
3. transition-function
6. CSS3 Transforms & Transitions
Multiple transition
With four transition properties and three vendor prefixes, you could wind up with 16 lines of CSS for a
single transition. Fortunately, as with other properties, there’s a shorthand available. The transition
property is shorthand for the four transition functions described above. Let’s take another look at our
transition so far:
6. CSS3 Animation
Transitions animate elements over time; however, they’re limited in what they can do.
You can define starting and ending states, but there’s no fine-grained control over any intermediate
states. CSS animations, unlike transitions, allow you to control each step of an animation via
keyframes. If you’ve ever worked with Flash, you’re likely very familiar with the concept of keyframes;
if not, don’t worry, it’s fairly straightforward.

A keyframe is a snapshot that defines a starting or end point of any smooth transition.
With CSS transitions, we’re essentially limited to defining the first and last keyframes. CSS animations
allow us to add any number of keyframes in between, to guide our animation in more complex ways.

Animation properties:
animation-name
animation-duration
animation-timing-function
animation-iteration-count
animation-direction
animation-delay
animation-fill-mode
6. CSS3 Animation
To animate an element in CSS, you first create a named animation, then attach it to an element in that
element’s property declaration block. Animations in themselves don’t do anything; in order to
animate
an element, you will need to associate the animation with that element.

To create an animation, use the @keyframes The last animation is worth paying extra attention to:
we’ve applied the same styles
to 0% and 100%, and to 20% and 80%. In this case, it
means the element will start
out invisible (opacity: 0;), fade in to visible by 20% of the
way through the duration,
remain visible until 80%, then fade out.

We’ve created three animations, but they aren’t


attached to any elements. Once we have defined an
animation, the next step is to apply it to one or more
elements using
the various animation properties.
6. CSS3 Animation
Shorthand
The animation property takes as its value a space-separated list of values for the longhand animation
name, animation-duration, animation-timing-function, animation-delay, animation-iteration-count,
animation-direction, and animation-fill-mode properties:
6. CSS3 multiple columns
Newspaper-style columns have been close to impossible to accomplish with CSS
and HTML without forcing column breaks at fixed positions

With CSS3 columns, the browser determines when to end one column and begin the next without
requiring any extra markup. You retain the flexibility to change the number of columns as well as their
width, without having to go back in and alter the page’s markup.

The column-count-property
The column-count property specifies the number of columns desired, and the maximum number of
columns allowed. The default value of auto means that the element has one column.

Ex: #primary article .content {


-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
}
6. CSS3 multiple columns
The column-gap-property
The column-gap property specifies the width of the space between columns:
Ex: #primary article .content {
-webkit-column-gap: 10px;
-moz-column-gap: 10px;
column-gap: 10px;
}
The column-width-property
The column-width property is like having a min-width for your columns. The browser will include as
many columns of at least the given width as it can to fill up the element
For example, if we have a parent that is 400 pixels wide, a 10-pixel column gap, and the column-width is
declared as 150px, the browser can fit two columns:(400px width – 10px column gap) ÷ 150px width
2.6 The browser rounds down to two columns, making columns that are as large as possible in the
allotted space; in this case that’s 195px for each column—the total width minus the gap, divided by the
number of columns. Even if the column-count were set to 3, there would still only be two columns, as
there’s not enough space to include three columns of the specified width. In other words, you can think
Of the column-count property as specifying the maximum column count.
Ex: #primary article .content {
-webkit-column-width: 150px;
-moz-column-width: 150px;
column-width: 150px;
}
6. CSS3 multiple columns
The column-rule-property
Column rules are essentially borders between each column. The column-rule property specifies the
color, style, and width of the column rules. The rule will appear in the middle of the column gap
Ex: #primary article .content {
-webkit-column-rule: 1px solid #ccc;
-moz-column-rule: 1px solid #ccc;
column-gap: 1px solid #ccc;
}
6. CSS3 selectors
Selectors are at the heart of CSS. Without selectors to target elements on the page,
the only way to modify the CSS properties of an element would be to use the element’s
style attribute and declare the styles inline. This, of course, is ugly, awkward,
and unmaintainable. So we use selectors.

Relational selectors
Descendant (E F)
You should definitely be familiar with this one. The descendant selector targets any element F that is a
descendant (child, grandchild, great grandchild, and so on) of an element E.
Child (E > F)
This selector matches any element F that is a direct child of element E—any further nested elements will
be ignored. Continuing the above example, ol > li would only target li elements directly inside the ol, and
would omit those nested inside a ul.
Adjacent Sibling (E + F)
This will match any element F that shares the same parent as E, and comes directly after E in the
markup. For example, li + li will target all li elements except the first li in a given container.
General Sibling (E ~ F)
This one’s a little trickier. It will match any element F that shares the same parent as any E and comes
after it in the markup. So, h1~h2 will match any h2 that follows an h1, as long as they both share the
same direct parent—that is, as long as the h2 is not nested in any other element.
6. CSS3 selectors
Attribute selectors

E[attr$=val] (IE8+, WebKit, Opera, Mozilla)


Matches any element E whose attribute attr ends in val. In other words, the val matches the end of the
attribute value.

E[attr*=val] (IE8+, WebKit, Opera, Mozilla)


Matches any element E whose attribute attr matches val anywhere within the attribute. In other words,
the string val is matched anywhere in the attribute value. It is similar to E[attr~=val] above, except the
val can be part of a word.

Using the same example as above, .fakelink[title~=info] {} would match any element with the class
fakelink that has a title attribute containing the string info, such as "Click here for more information."
6. CSS3 selectors
Pseudo-classes
:enabled
A user interface element that’s enabled.
:disabled
Conversely, a user interface element that’s disabled.
:checked
Radio buttons or checkboxes that are selected or ticked.
:valid
Applies to elements that are valid, based on the type or pattern attributes
:invalid
Applies to empty required elements, and elements failing to match the requirements defined by the type or pattern attributes.
:in-range
Applies to elements with range limitations, where the value is within those limitations. This applies, for example, to number
and range input types with min and max attributes
:out-of-range
The opposite of :in-range: elements whose value is outside the limitations of their range.
:required
Applies to form controls that have the required attribute set.
:optional
Applies to all form controls that do not have the required attribute.
:read-only
Applies to elements whose contents are unable to be altered by the user. This is usually most elements other than form fields.
:read-write
Applies to elements whose contents are user-alterable, such as text input fields
6. CSS3 selectors
Structural Pseudo-classes
:root
The root element, which is always the html element.
E F:nth-child(n)
The element F that is the nth child of its parent E.
E F:nth-last-child(n)
The element F that is the nth child of its parent E, counting backwards from the last one. li:nth-last-child(1) would match the
last item in any list—this is the same as li:last-child (see below).
E:nth-of-type(n)
The element that is the nth element of its type in a given parent element.
E:nth-last-of-type(n)
Like nth-of-type(n), except counting backwards from the last element in a parent.
E:first-child
The element E that is the first child E of its parent. This is the same as :nthchild(1).
E:last-child
The element E that is the last child E of its parent, same as :nth-last-child(1).
E:first-of-type
Same as :nth-of-type(1).
E:last-of-type
Same as :nth-last-of-type(1).
E:only-child
An element that’s the only child of its parent.
E:only-of-type
An element that’s the only one of its type inside its parent element.
E:empty
An element that has no children; this includes text nodes, so <p>hello</p> will not be matched.
E:lang(en)
An element in the language denoted by the two-letter abbreviation (en).
E:not(exception)
This is a particularly useful one: it will select elements that don’t match the selector in the parentheses.
7. CSS3 media queries
CSS2 added support for the media="screen" way of defining which stylesheet to use for which
representation of the data. CSS3 adds a new feature to this functionality, by adding media queries.
Basically, this means you can change stylesheets based on for instance the width and height of the
viewport. In a broader sense, this means as the spec puts it: “by using Media Queries, presentations
can be tailored to a specific range of output devices without changing the content itself.”

Below are two tests, for min-width and max-width, currently only functional (and thus green) in
Safari 3, Opera, and Firefox 3.1 (Alpha). This is however the future of web development, and could
make building pages that are usable in both the mobile as the normal web a lot easier.
7. CSS3 Gradients
Use CSS 3 to create some nice subtle gradients; or
very compelling gradients! CSS 3 Gradients are
not
the simplest things by any means; there are several
values to account for when projecting your
gradient and it only worsens when working with
radial gradients.
background:-moz-linear-gradient(pos, #AAA B,
#XXX Y);
or :-moz-radial-gradient(pos, #AAA B, #XXX Y);
pos = the position of the first colour, giving
direction to the gradient
#AAA = primary colour
B = where the fade begins (%)
#XXX = secondary colour
Y = where the fade begins (%)
The -webkit-gradient() is built slightly differently but
works in the same manner, creating a start
position and then the colors from() and to();
Belajar Lebih Lanjut?
 http://www.w3schools.com/css/default.asp
 Google
 Youtube

You might also like