1. Trang chủ
  2. » Luận Văn - Báo Cáo

CS142 LECTURE NOTES - CSS CASCADING STYLE SHEETS (CSS) MENDEL ROSENBLUM

20 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cascading Style Sheets (CSS)
Tác giả Mendel Rosenblum
Chuyên ngành Computer Science
Thể loại Lecture Notes
Định dạng
Số trang 20
Dung lượng 152,95 KB

Nội dung

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Điện - Điện tử - Viễn thông CS142 Lecture Notes - CSS Cascading Style Sheets (CSS) Mendel Rosenblum 1 CS142 Lecture Notes - CSS Driving problem behind CSS What font type and size does Introduction generate? Answer: Some default from the browser (HTML tells what browser how ) Early HTML - Override defaults with attributes Style sheets were added to address this: Specify style to use rather than browser default Not have to code styling on every element 2 CS142 Lecture Notes - CSS Key concept: Separate style from content Content (what to display) is in HTML files Formatting information (how to display it) is in separate style sheets (.css files). Use an element attribute named class to link (e.g. ) Result: define style information once, use in many places Consider can you make all the text in the app slightly bigger? Or purple is our new company color. DRY principle: Don''''t Repeat Yourself 3 CS142 Lecture Notes - CSS Style sheet contain one or more CSS Rules body { font-family: Tahoma, Arial, sans-serif; color: black; background: white; margin: 8px; } 4 Selector Property Value Declaration Block CS142 Lecture Notes - CSS 5 CSS Selector CSS HTML Tag name h1 { color: red; } Today’s Specials Class attribute .large { font-size: 16pt; }

... Tag and Class p.large {...}

... Element id p20 { font-weight: bold; }

... CS142 Lecture Notes - CSS CSS Pseudo Selectors hover - Apply rule when mouse is over element (e.g. tooltip) p:hover, a:hover { background-color: yellow; } a:link, a:visited - Apply rule when link has been visited or not visited (link) a:visited { a:link { color: green; color: blue; } } 6 CS142 Lecture Notes - CSS CSS Properties Control many style properties of an element: ● Coloring ● Size ● Position ● Visibility ● Many more: (e.g. p: { text-decoration: line-through; }) ● Also used in animation 7 CS142 Lecture Notes - CSS Color - Properties: color backgroundcolor Must ultimately turn into red, green, and blue intensities between 0 and 255: ● Predefined names: red, blue, green, white , etc. (140 standard names) ● 8-bit hexadecimal numbers for red, green, blue: ff0000 ● 0-255 decimal intensities: rgb(255,255,0) ● Percentage intensities: rgb(80,80,100) Example: h1: { color: red; } 8 R G B R G B R G B CS142 Lecture Notes - CSS CSS Box Model 9 Element Margin Border Padding width height Total element width = width + left padding + right padding + left border + right border + left margin + right margin Margin Padding Transparent CS142 Lecture Notes - CSS CSS distance units 10 Absolute 2px pixels 1mm millimeters 2cm centimeters 0.2in inches 3pt printer point 172 inch Relative 2em 2 times the element’s current font size 3rem 3 times the root element’s current font size CS142 Lecture Notes - CSS Size Properties - Element, pad, margin, border width - Override element defaults height padding-top padding-right padding-bottom padding-left margin-top margin-right margin-bottom margin-left 11 border-bottom-color border-bottom-style border-bottom-width border-left-color border-left-style border-left-width border-right-color border-right-style border-right-width etc. p { border: 5px solid red; } CS142 Lecture Notes - CSS position property position: static; (default) - Position in document flow position: relative; Position relative to default position via top, right, ...

Trang 1

Cascading Style Sheets

(CSS)

Mendel Rosenblum

Trang 2

CS142 Lecture Notes - CSS

Driving problem behind CSS

What font type and size does <h1>Introduction</h1> generate?

Answer: Some default from the browser (HTML tells what browser how)

Early HTML - Override defaults with attributes

<table border="2" bordercolor="black">

Style sheets were added to address this:

Specify style to use rather than browser default

Not have to code styling on every element

2

Trang 3

Key concept: Separate style from content

Content (what to display) is in HTML files

Formatting information (how to display it) is in separate style sheets (.css files)

Use an element attribute named class to link (e.g <span class="test">)

Result: define style information once, use in many places

Consider can you make all the text in the app slightly bigger?

Or purple is our new company color

DRY principle: Don't Repeat Yourself

Trang 4

Style sheet contain one or more CSS Rules

body {

}

Selector

Property Value Declaration

Block

Trang 5

CSS

Tag name

h1 { color : red ; }

<h1>Today’s Specials</h1>

Class attribute

.large { font-size : 16pt ; }

<p class="large">

Tag and Class p.large { } <p class="large">

Element id

#p20 { font-weight : bold ; <p id="p20">

Trang 6

CSS Pseudo Selectors

hover - Apply rule when mouse is over element (e.g tooltip)

p:hover, a:hover {

}

a:link, a:visited - Apply rule when link has been visited or not visited (link)

Trang 7

CSS Properties

Control many style properties of an element:

● Position

● Visibility

● Many more: (e.g p: { text-decoration: line-through; })

● Also used in animation

Trang 8

Color - Properties: color & background_color

Must ultimately turn into red, green, and blue intensities between 0 and 255:

● Predefined names: red, blue, green, white, etc (140 standard names)

● 8-bit hexadecimal numbers for red, green, blue: #ff0000

● 0-255 decimal intensities: rgb(255,255,0)

● Percentage intensities: rgb(80%,80%,100%)

Example: h1: { color: red; }

R G B

R G B

R G B

Trang 9

CSS Box Model

Element

Margin

Border Padding

width

Total element width =

width + left padding + right padding + left border + right border + left margin + right margin Margin & Padding Transparent

Trang 10

CSS distance units Absolute

2px pixels 1mm millimeters 2cm centimeters 0.2in inches

3pt printer point 1/72 inch

Relative 2em 2 times the element’s current font size 3rem 3 times the root element’s current font size

Trang 11

Size Properties - Element, pad, margin, border

width - Override element defaults

height

padding-top

padding-right

padding-bottom

padding-left

margin-top

margin-right

margin-bottom

border-bottom-color border-bottom-style border-bottom-width border-left-color border-left-style border-left-width border-right-color border-right-style border-right-width etc

p {

Trang 12

position property

position: static; (default) - Position in document flow

position: relative; Position relative to default position via

top, right, bottom, and left properties

position: fixed; Position to a fixed location on the screen via

top, right, bottom, and left properties

position: absolute; Position relative to ancestor absolute element via

top, right, bottom, and left properties Fixed position (0,0) is top left corner

Trang 13

Some more common properties

background-image: image for element's background

background-repeat: should background image be displayed in a repeating

pattern (versus once only)

font, font-family, font-size, font-weight, font-style: font

information for text

cursor - Set the cursor when over element (e.g help)

Trang 14

Element visibility control properties

display: none; - Element is not displayed and takes no space in layout

display: inline; - Element is treated as an inline element

display: block; - Element is treated as a block element

display: flex; - Element is treated as a flex container

display: grid; - Element is treated as a grid container

visibility: hidden; - Element is hidden but space still allocated

visibility: visible; - Element is normally displayed

Trang 15

Flexbox and Grid layout

○ Items flex to fill additional space and shrink to fit into smaller spaces.

○ Useful for web app layout:

■ Divide up the available space equally among a bunch of elements

■ Align of different sizes easily

■ Key to handling different window and display sizes

● Flexbox - Layout one dimension (row or column) of elements

● Grid - Layout in two dimensions (rows and columns) of elements

● Covered in discussion section

Trang 16

Some other CSS issues

● Inheritance

○ Some properties (e.g font-size) are inherited from parent elements

○ Others (border, background) are not inherited.

● Multiple rule matches

○ General idea: most specific rule wins

<span>Text1</span> span.test { color: green } <span class="test">Text2</span> span { color: red }

Trang 17

Adding Styles to HTML

<head>

<link rel="stylesheet" type="text/css" href="myStyles.css" />

<style type="text/css">

body {

font-family: Tahoma, Arial, sans-serif;

}

</style>

</head>

<body>

<div style="padding:2px; ">

</body>

Separate style sheet (best way)

Page-specific styles

Element-specific styles

Trang 18

body {

}

}

}

<body>

<h1>First Section Heading</h1>

<p>

Here is the first paragraph, containing text that really doesn't have any use

or meaning; it just prattles on and on, with no end whatsoever, no point to make, really no purpose for existence

at all.

</p>

<div class="shaded">

<h1>Another Section Heading</h1>

<p>

Another paragraph.

</p>

</div>

</body>

Trang 19

Example Output

Trang 20

CSS in the real world

● CSS preprocessors (e.g less) are commonly used

○ Add variable and functions to help in maintaining large collections of style sheets

○ Apply scoping using the naming conventions

● Composition is a problem

○ It can be really hard to figure out what rule from which stylesheet is messing things up

Ngày đăng: 02/06/2024, 03:54