Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cascading Style Sheets

Similar presentations


Presentation on theme: "Cascading Style Sheets"— Presentation transcript:

1 Cascading Style Sheets
CSS Cascading Style Sheets

2 HTML: Looking Back HTML dictates order, structure, and function
Does very little to specify layout or visual rendering With HTML, we developed learned about elements in which we could place our content. We built the items, but we’ve said nothing of how they should be painted, decorated, or arranged. Or, for an analogy combo, you could say that we’ve developed a vocabulary--of nouns, verbs, and a couple adjectives, perhaps, but a vocabulary nonetheless! With enough time we could certainly string together these elements and make a paper--we learned how to make tables and, my gosh, we even learned how to place in some dazzling figures! Well, okay, that might pass the muster for grad students, but well, we’re MIT students, and it’s IAP--so let’s not just make papers, let’s be a little creative. Let’s write some poetry!

3 The Purpose of CSS If HTML is the content and meaning
CSS helps to convey that meaning Allows developers to separate the content from layout and design Content and design inherently different in nature Change in content does not require change in design

4 CSS Zen Garden Site using consistent HTML content
Differing external CSS files create dramatically different layout Support for multiple browsers link: hint: change the styles on the page

5 What is CSS? Style.css And so on….
CSS stands for Cascading Style Sheet. Typical CSS file is a text file with an extention.css and contains a series of commands or rules. These rules tell the HTML how to display. *To create a style sheet, create a file using Notepad (PC) or Text Edit (Mac), save it as a .css document and start writing the CSS code (see right). /* Styles for sitename.com*/ body { font-family:Arial; background: #000; } #container { text-align:left; width:1020px; } #header { height:232px; } #footer { width: 100%; padding: 0 10px; margin-bottom: 10px; And so on…. Cascading Style Sheets: Pixel-Level Control with HTML Ease

6 CSS Benefits Separates structure from presentation
Provides advanced control of presentation Easy maintenance of multiple pages Faster page loading Better accessibility for disabled users Easy to learn Cascading Style Sheets: Pixel-Level Control with HTML Ease

7 HTML Without CSS “HTML without CSS is like a piece of candy without a pretty wrapper.” Without CSS, HTML elements typically flow from top to bottom of the page and position themselves to the left by default. With CSS help, we can create containers or DIVs to better organize content and make a Web page visually appealing. Cascading Style Sheets: Pixel-Level Control with HTML Ease

8 HTML & CSS HTML and CSS work together to produce beautiful and functional Web sites HTML = structure CSS = style Cascading Style Sheets: Pixel-Level Control with HTML Ease

9 Typical Web Page (Browser)
Container header menu main footer Cascading Style Sheets: Pixel-Level Control with HTML Ease

10 Attaching a Style Sheet
Attach a style sheet to a page by adding the code to the <head> section of the HTML page. There are 3 ways to attach CSS to a page: 1. External Style Sheet: Best used to control styling on multiple pages. <link rel="stylesheet" type="text/css" media="all" href="css/styles.css" /> 2. Internal Style Sheet: Best used to control styling on one page. <style type=“text/css”> h1 {color: red) </style> 3. Inline Style Sheet*: CSS is not attached in the <header> but is used directly within HTML tags. <p style=“color: red”>Some Text</p> Cascading Style Sheets: Pixel-Level Control with HTML Ease

11 CSS Rule Structure A CSS RULE is made up of a selector and a declaration. A declaration consists of property and value. selector {property: value;} Cascading Style Sheets: Pixel-Level Control with HTML Ease

12 Selectors body { property: value; } h1 { property: value; }
A selector, here in green, is often an element of HTML. body { property: value; } h1 { property: value; } em { property: value; } p { property: value; } Cascading Style Sheets: Pixel-Level Control with HTML Ease

13 Properties and Values Properties and values tell an HTML element how to display. body {background: purple;} h1 {color: green; } h2 {font-size: large;} p {color: #ff0000;} /*hexadecimal for red*/ *CSS code can be written in a linear format (above) or in a block format (below). body { background: purple; color: green; } Cascading Style Sheets: Pixel-Level Control with HTML Ease

14 Grouping Selectors Group the same selector with different declarations together on one line. h1 {color: black;} h1 {font-weight: bold;} h1 {background: white;} Example of grouping selectors (both are correct): h1 { color: black; font-weight: bold; background: white; } Cascading Style Sheets: Pixel-Level Control with HTML Ease

15 Grouping Selectors Group different selectors with the same declaration on one line. h1 {color: yellow;} h2 {color: yellow;} h3 {color: yellow;} Example of grouping selectors (both are correct): h1, h2, h3 {color: yellow;} Cascading Style Sheets: Pixel-Level Control with HTML Ease

16 Comments in CSS Explain the purpose of the coding
Help others read and understand the code Serve as a reminder to you for what it all means Starts with /*and ends with*/ p {color: #ff0000;} /*Company Branding*/ Cascading Style Sheets: Pixel-Level Control with HTML Ease

17 Headers If you want to make all H1, H2, and H3 red, and all H4, H5, H6 yellow, your style could look like this: h1, h2, h3 { color: red; } h4, h5, h6 { color: yellow; } You can use the comma to say you want to define a style for multiple selectors at the same time. You can set a style for nearly all HTML elements.

18 PSEUDO-ELEMENTS There are two important pseudo-elements that are built into CSS capable web browsers. (There are also common pseudo-classes which you'll learn in the links chapter.) These two elements are :first-letter and :first-line. Notice that pseudo-elements are defined with a : instead of a . or # (this is because they have special meanings to a web browser). Suppose you want the first letter of each paragraph to be red, or the first-line of each paragraph to be green. p:first-letter { color: red; } p:first-line { color: green; }

19 CSS Background, Image and Color Styles
<body background="graphic.jpg" text="#FFFFFF" bgcolor="#000000"> To convert that into CSS, it looks like this: body { background-image: url(graphic.jpg); color: #FFFFFF; background-color: #000000; }

20 Typical Web Page (Browser)
Container header menu main footer Cascading Style Sheets: Pixel-Level Control with HTML Ease

21 Typical Web Page (HTML)
Typical HTML Web page is made up of containers (boxes) or DIVs. Each DIV is assigned an ID or a Class. <div id=“container”> <div id=“header”>Insert Title</div> <div id=“main">content <div id=“menu”>content</div> </div> <div id=“footer”>content</div> Cascading Style Sheets: Pixel-Level Control with HTML Ease

22 Typical Web Page (CSS) The CSS file uses the same DIV/ID/Class names as the HTML and uses them to style the elements. #container {property: value;} #menu {property: value;} #main {property: value;} #footer {property: value;} Cascading Style Sheets: Pixel-Level Control with HTML Ease

23 IDs and Classes IDs (#) are unique and can only be used once on the page Classes (.) can be used as many times as needed HTML Code: <h1 id=“mainHeading”>Names</h1> <p class=“name”>Joe</p> CSS Code: #mainHeading {color: green} .name {color: red} Cascading Style Sheets: Pixel-Level Control with HTML Ease

24 CSS Box Properties Background-color Width Padding Margin Border-width
Border-color Border-style Cascading Style Sheets: Pixel-Level Control with HTML Ease

25 HTML CSS #content { background-color: #ccc; margin-bottom: 10px;
div id=“header” #content { background-color: #ccc; margin-bottom: 10px; border: 1px dashed blue; color: #fff; width: auto; } div id=“content” div id=“footer” Cascading Style Sheets: Pixel-Level Control with HTML Ease

26 The <div> tag The <div> tag is nothing more than a container unit that encapsulates other page elements and divides the HTML document into sections. Web developers use <div> elements to group together HTML elements and apply CSS styles to many elements at once. For instance, by wrapping a set of paragraph elements into a <div> element, the we can take advantage of CSS styles and apply a font to all paragraphs at once by applying a font style to the <div> tag instead of coding the same style for each paragraph element.

27 The <span> tag The <span> tag is similar but is a default inline element where-as the div is a default block element. Default display can be changed via style rules /* change the default display for div with class inline */ div.inline { display:inline; } /* change the default display for spans with class block */ span.block { display:block; }

28 Common CSS Layout Properties
Width Height Float Clear Border Padding Margin margin padding width height border Cascading Style Sheets: Pixel-Level Control with HTML Ease

29 Width & Height div id=“box”
Width and height define the width and height of an element. Width and height can be specified in pixels, ems, percentages or set to auto #box {width=“50px”} #box {width=“50em”} #box {width=“100%”} #box {width=“auto”} #box {height=“auto”} div id=“box” Cascading Style Sheets: Pixel-Level Control with HTML Ease

30 Float: (left, right) Float property makes elements float to the right or left of the screen, positioned where they are in the HTML. Floating allows word wrapping. Here is some text which wraps around the box floated to the left. div id=“box” #box {float:left; margin-right: 10px;} Cascading Style Sheets: Pixel-Level Control with HTML Ease

31 Clear: (left, right, both)
When elements are floated, they wrap around each other to form a “caravan.” The clear property detaches an element from the “caravan” and allows it to start on a new line. div id=“box1” div id=“box2” div id=“box3” #box3 { background-color: white; border: 1px solid #000; clear: both;} Cascading Style Sheets: Pixel-Level Control with HTML Ease

32 Border (top, right, bottom, left)
You can define the entire border or only the top, bottom, left, or right. You can also define the border using one declaration. The code could be any of the following: #box { border-color: red; border-style: dotted; border-width: 2px; } border: red dotted 2px; border-top: red dotted 2px; border-bottom: red dotted 2px; border-left: red dotted 2px; border-right: red dotted 2px; div id=“box” Cascading Style Sheets: Pixel-Level Control with HTML Ease

33 Padding (top, right, bottom, left)
Padding is the space between the text/content and the border. You can use padding for all around the element or specify each side of the rectangle separately. The code could be any of the following: padding: 10px; Padding: 10px 10px; padding: 10px 10px 10px 10px; padding-left: 10px; padding-right: 10px; padding-bottom: 10px; padding-top: 10px; div id=“box” padding Cascading Style Sheets: Pixel-Level Control with HTML Ease

34 Margin (top, right, bottom, left)
Margin is the space outside the text/content and the border. You can use margin for all around the element or specify each side of the rectangle separately. The code could be any of the following: margin: 10px; or margin: 10px 10px; margin: 10px 10px 10px 10px; margin-left: 10px; margin-right: 10px; margin-bottom: 10px; margin-top: 10px; margin div id=“box” Cascading Style Sheets: Pixel-Level Control with HTML Ease

35 Text Properties To style the main heading in the example, we assign a class the HTML tag. <h3 class=“mainHeading”>Main Heading</h3> mainHeading { color: red; letter-spacing: 5px; text-transform: uppercase; word-spacing: 15px; text-align: left; font-family: Times; text-decoration: underline; font-size: 12px; font-style: italic; font-weight: bold; } MAIN HEADING Gravida lacinia velit. Vivamus tortor enim, tincidunt at, pellentesque ut, iaculis eu, quam. Cascading Style Sheets: Pixel-Level Control with HTML Ease

36 Standard Hexadecimal CSS Colors White Black Blue Fuchsia Gray Green
#ffffff Black #fff Blue #cccf0f3 Fuchsia Gray Green Lime Aqua Cascading Style Sheets: Pixel-Level Control with HTML Ease

37 Styling Links The links property defines how inactive, hovered, active, and visited link states appear to the user. a:link {color: red; text-decoration: none; border-bottom: 1px dashed red; background: white;} a:visited {color: yellow;} a:active {color: green;} a:hover {color: orange;} Cascading Style Sheets: Pixel-Level Control with HTML Ease

38 Including Images Properties for working with images include:
Background-image Background-repeat Background-position Background-attachment Cascading Style Sheets: Pixel-Level Control with HTML Ease

39 Layering div id=“bg” Background colors and images are layered like sheets of paper one on top of the other. #bg {background:url(leaves.jpg) no-repeat top left} #main {background-color: red} #box {background-color: yellow} div id=“main” div id=“box” Cascading Style Sheets: Pixel-Level Control with HTML Ease

40 The Power of Cascade When multiple styles or style sheets are used, they start to cascade and sometimes compete with one another due to CSS’s inheritance feature. Any tag on the page could potentially be affected by any of the tags surrounded by it. So, which one wins? Nearest Ancestor Wins. Inline style or directly applied style The last style sheet declared in the <header> section Cascading Style Sheets: Pixel-Level Control with HTML Ease

41 Saving Time with Inheritance
In a nutshell, inheritance is the process by which CSS properties applied to one tag are passed on to nested tags. For example, the paragraph tag will inherit the same styling as the body tag because <p> is always located inside <body>. <body style=“font-family: Arial”> <p>This text will be Arial as well</p> </body> So, instead of styling each paragraph separately, you can define the font color in the <body>, and everything inside will have that color. Cascading Style Sheets: Pixel-Level Control with HTML Ease


Download ppt "Cascading Style Sheets"

Similar presentations


Ads by Google