getting better at css

62

Upload: selfteachme

Post on 08-Feb-2017

33 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Getting Better at CSS
Page 2: Getting Better at CSS

.item {/* style it */

}

CSS

Page 3: Getting Better at CSS

.item {/* style it */

}

CSS

1

2

Page 4: Getting Better at CSS

CascadeThe( I T ’ S I N T H E N A M E )

Page 5: Getting Better at CSS
Page 6: Getting Better at CSS
Page 7: Getting Better at CSS

1 I N L I N E

2 < H E A D > O F Y O U R H T M L

3 E X T E R N A L S T Y L E S H E E T

😱

😷

😎

3 Places Y O U C A N P U T C S S

<div style=“color: blue”>Text</div>

<head><style>.item {color: blue;

}</style>

</head>

<link rel=“stylesheet type=“text/css” href=“styles.css” />

Page 8: Getting Better at CSS

1 I N L I N E

2 < H E A D > O F Y O U R H T M L

3 E X T E R N A L S T Y L E S H E E T

3 Places Y O U C A N P U T C S S

<div style=“color: blue”>Text</div>

<head><style>.item {color: blue;

}</style>

</head>

<link rel=“stylesheet type=“text/css” href=“styles.css” />

M O S T

L E A S T

Page 9: Getting Better at CSS

Structure Y O U R C S S F I L E

E L E M E N T S

h1h2h3pahr

P I E C E S / C O M P O N E N T S

.social-media

.page-title

.read-more

L A Y O U T

.header

.nav

.main

.footer

P A G E S

.home

.about

.contact

Page 10: Getting Better at CSS

R E D E F I N E / E L E M E N T S

Page 11: Getting Better at CSS

P I E C E S / C O M P O N E N T S

Page 12: Getting Better at CSS

L A Y O U T

Page 13: Getting Better at CSS

P A G E S P E C I F I C

Page 14: Getting Better at CSS

Source-Order O F C S S F I L E S

Page 15: Getting Better at CSS

AtomicDesignB R A D

F R O S T

Page 16: Getting Better at CSS
Page 17: Getting Better at CSS
Page 18: Getting Better at CSS
Page 19: Getting Better at CSS
Page 20: Getting Better at CSS
Page 21: Getting Better at CSS
Page 22: Getting Better at CSS

SpecificityW H Y D O E S T H I S M A T T E R ?

Page 23: Getting Better at CSS

C A L C U L A T I N GSpecificity

M O S T S P E C I F I C L E A S T S P E C I F I C

S T Y L E A T T R I B U T E I D

C L A S S , P S E U D O - C L A S S A T T R I B U T E E L E M E N T S

, , ,

Page 24: Getting Better at CSS

C A L C U L A T I N GSpecificityS T Y L E A T T R I B U T E I D

C L A S S , P S E U D O - C L A S S A T T R I B U T E E L E M E N T S

, , ,#footer ul.social-media li a

1 1 30

Page 25: Getting Better at CSS

C A L C U L A T I N GSpecificity

<li style=“color: red;”>

S T Y L E A T T R I B U T E I D

C L A S S , P S E U D O - C L A S S A T T R I B U T E E L E M E N T S

, , ,1 0 00

Page 26: Getting Better at CSS

!Important.item {color: black !important;

}

A U T O M A T I C W I N

.another-item {color: red !important;

}

Page 27: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

div {background: black;

}1000

1 : ELEMENT SELECTOR

Page 28: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

div {background: black;

}1000

1 : ELEMENT SELECTOR

body div {background: red;

}2000

2 : TWO ELEMENT SELECTORS

Page 29: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

body div {background: red;

}2000

2 : TWO ELEMENT SELECTORS

html body div {background: white;

}3000

3 : THREE ELEMENT SELECTORS

Page 30: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

html body div {background: white;

}3000

3 : THREE ELEMENT SELECTORS

.item {background: yellow;

}0100

4 : CLASS SELECTOR

Page 31: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

.item {background: yellow;

}0100

4 : CLASS SELECTOR

div.item {background: black;

}1100

5 : CLASS + ELEMENT SELECTOR

Page 32: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

div.item {background: black;

}1100

5 : CLASS + ELEMENT SELECTOR

div.item:hover {background: white;

}1200

6 : ELEMENT + CLASS + PSEUDO-CLASS SELECTOR

Page 33: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

div.item:hover {background: white;

}1200

6 : ELEMENT + CLASS + PSEUDO-CLASS SELECTOR

.item.item.item.item {background: pink;

}0∞00

7 : STACKED CLASSES

Page 34: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

.item.item.item.item {background: pink;

}0∞00

7 : STACKED CLASSES

#item {background: purple;

}0010

8 : ID SELECTOR

Page 35: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

#item {background: purple;

}0010

8 : ID SELECTOR

#item[class^=“i”]{background: orange;

}0110

9 : ID + ATTRIBUTE SELECTOR

Page 36: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

#item[class^=“i”] {background: orange;

}0110

9 : ID + ATTRIBUTE SELECTOR

html body div#item[class=“i”]:hover.spy{

background: black;}

3310

10 : COMBINING

Page 37: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

html body div#item[class=“i”]:hover.spy{

background: black;}

3310

10 : COMBINING

<div class="item" id="item" style="background: black;”></div>0001

11 : INLINE STYLE

Page 38: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

<div class="item" id="item" style="background: black;”></div>0001

11 : INLINE STYLE

div {background: orange !important;

}0001

12 : !IMPORTANT

Page 39: Getting Better at CSS

In PracticeO V E R R I D I N G B A C K G R O U N D C O L O R

div {background: orange !important;

}0001

12 : !IMPORTANT

<div class="item" id="item" style="background: black !important;”></div>

0001

13 : !IMPORTANT ON AN INLINE STYLE

Page 40: Getting Better at CSS

Keep in MindN E S T I N G C A U S E S P R O B L E M S

.header .nav ul > li > a

Page 41: Getting Better at CSS

No Morethan4levelsdeep

Page 42: Getting Better at CSS

Keep in MindI D S A R E F R O W N E D U P O N

#nav ul > li > a

Page 43: Getting Better at CSS

Pseudo SelectorsS P E C I F I C P I E C E O F A N I T E M

a:hover

Page 44: Getting Better at CSS

Pseudo SelectorsS P E C I F I C P I E C E O F A N I T E M

a {color: red;}

a:hover {text-decoration: underline;}

Page 45: Getting Better at CSS

input:focus {background: yellow;}

input:blur {background: white;}

input:hover {border: 5px solid yellow;}

Page 46: Getting Better at CSS
Page 47: Getting Better at CSS
Page 48: Getting Better at CSS
Page 49: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

Page 50: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

UL:ONLY-OF-TYPE

Page 51: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

LI:LAST-CHILD

Page 52: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

DIV DIV:FIRST-OF-TYPE

Page 53: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

DIV DIV:LAST-OF-TYPE

Page 54: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

LI:NTH-CHILD(2)

Page 55: Getting Better at CSS
Page 56: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>P:NTH-OF-TYPE(2)

Page 57: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

LI:NTH-CHILD(EVEN)

Page 58: Getting Better at CSS

<div><ul><li>One</li><li>Two</li><li>Three</li>

</ul>

<div>abc</div>

<p>Paragraph</p>

<div>Item</div>

<p>Paragraph</p><p>Another Paragraph</p>

</div>

LI:NTH-CHILD(ODD)

LI:NTH-CHILD(ODD)

Page 59: Getting Better at CSS

ParentsSiblings&

C U S T O M R A D I O B U T T O N S A N D C H E C K B O X E S

Page 60: Getting Better at CSS
Page 61: Getting Better at CSS

BeforeAfter&

Page 62: Getting Better at CSS