LIS650 lecture 2 Major CSS Thomas Krichel 2004-11-21.

Slides:



Advertisements
Similar presentations
LIS650 lecture 4 Thomas Krichel today Advice CSS Properties –Box properties-- List properties –Table properties-- Classification properties.
Advertisements

LIS650 lecture 4 Thomas Krichel today CSS Properties –Box properties-- List properties –Table properties-- Classification properties –(Audio.
LIS900C: Style sheet Thomas Krichel Style sheets Style sheets are the officially sanctioned way to add style to your document We will cover.
LIS650 lecture 2 Major CSS Thomas Krichel
LIS650 lecture 2 Major CSS Thomas Krichel
LIS901N: Style sheet Thomas Krichel Style sheets Style sheets are the officially sanctioned way to add style to your document We will cover.
LIS650 lecture 4 Thomas Krichel today Advice CSS Properties –Box properties –List properties –Classification properties Fun with selectors.
Copenhagen, 6 December 2004 Modern CSS Principles Miruna Bădescu Finsiel Romania.
LIS650part 2 the HTML, CSS, and tables Thomas Krichel.
HIGH LEVEL OVERVIEW: CSS CSS SYNTAX CONSISTS OF A SET OF RULES THAT HAVE 3 PARTS: A SELECTOR, A PROPERTY, AND A VALUE. IT’S NOT NECESSARY TO REMEMBER THIS.
Cascading Style Sheets (CSS)
Dr. Alexandra I. Cristea CSS Dr. Alexandra I. Cristea Source:
CSS Cascading Style Sheets. What is CSS? CSS stands for Cascading Style Sheets (the page—or sheet—helps you create a style that will cascade across all.
Chapter 3 © 2003 by Addison-Wesley, Inc Introduction - HTML is primarily concerned with content, rather than style - However, tags have presentation.
1 Cascading Style Sheets Continued Different kinds of selectors in a style sheet –Simple- Pseudo-Class –Contextual- Pseudo-Element –Class Image Styles.
Cascading Style Sheets
Cascading Style Sheets
CSS. Intro to CSS Cascading Style Sheets – styles and enhances appearance of webpage.css extension.
Cascading Style Sheets (CSS): Pixel-Level Control with HTML Ease
Cascading Style Sheets. CSS stands for Cascading Style Sheets and is a simple styling language which allows attaching style to HTML elements. CSS is a.
Building a Website: Cascading Style Sheets (CSS) Fall 2013.
Client-Side Internet and Web Programming
1 Pengantar Teknologi Internet W03: CSS Cascading Style Sheets.
CIS 1310 – HTML & CSS 6 Layout. CIS 1310 – HTML & CSS Learning Outcomes  Describe & Apply the CSS Box Model  Configure Float with CSS  Designate Positioning.
CSS(Cascading Style Sheets )
Web Pages and Style Sheets Bert Wachsmuth. HTML versus XHTML XHTML is a stricter version of HTML: HTML + stricter rules = XHTML. XHTML Rule violations:
Part 3 Introduction to CSS. CSS Text Text Styles h1 {color: green} // rgb(0,255,0), #00ff00 h2{letter-spacing: 0.5cm} // 2px h3 {text-align: right} //
กระบวนวิชา CSS. What is CSS? CSS stands for Cascading Style Sheets Styles define how to display HTML elements Styles were added to HTML 4.0 to.
Measurement Many CSS properties (values within the declaration) require that you specify a unit of measurement, such as spacing between elements, border.
© 2010, Robert K. Moniot Chapter 5 CSS : Cascading Style Sheets 1.
CSS Cascading Style Sheets Brief Introduction
9-May-15 More CSS. 2 A different emphasis CSS is the same for XML as it is for HTML and XHTML, but-- XML contains no display information If you want your.
XP 1 Working with Cascading Style Sheets Creating a Style for Online Scrapbooks Tutorial 7.
Style sheets can also affect the BODY. style4.css BODY {BACKGROUND-COLOR : white} H1 {COLOR : red; FONT-SIZE : 50; FONT-FAMILY : arial} H2 {COLOR : green}
Style sheets can also affect the body. style4.css body {background-color : white} h1 {color : red; font-size : 50; font-family : arial} h2 {color : green}
14-Jul-15 CSS Applications to XML. 2 A different emphasis CSS is the same for XML as it is for HTML, but-- HTML already does a pretty good job of layout.
1 Cascading Style Sheets (CSS) Part 2. 2 The Sources of Style Sheets.
CSS The Definitive Guide Chapter 8.  Allows one to define borders for  paragraphs  headings  divs  anchors  images  and more.
INTRODUCTORY Tutorial 4 Exploring Graphic Elements and Images.
 Cascading Style Sheets (CSS) ◦ Used to specify the presentation of elements separately from the structure of the document.  Inline style ◦ declare.
Cascading Style Sheets Eugenia Fernandez IUPUI. CSS Purpose CSS allow you to specify the style in which your XML elements are displayed. CSS were originally.
XP Review 2 New Perspectives on JavaScript, Comprehensive1 Introducing Cascading Style Sheets Formatting Web Pages with CSS.
THE BOX MODEL Putting layouts together with CSS. The Box Model  How would you describe a box?  Container?  Tags or elements are “containers”  puts.
WebD Introduction to CSS By Manik Rastogi.
HTML WITH CSS.
CSS for Styling By Jinzhu Gao.
Cascading Style Sheets Boxes
CSS Layouts CH 13.
Cascading Style Sheets™ (CSS)
( Cascading style sheet )
HTML WITH CSS.
Creating Your Own Webpage
Chapter 3 Style Sheets: CSS
Cascading Style Sheets
Cascading Style Sheets (Formatting)
CSS3 Cascading Style Sheet
3.5 Property Value Forms - There are 60 different properties in 7 categories: - Fonts - Lists - Alignment of text - Margins - Colors - Backgrounds - Borders.
The Internet 10/25/11 XHTML Tables
CSS Applications to XML 19-Sep-18.
IS333: MULTI-TIER APPLICATION DEVELOPMENT
Cascading Style Sheets
Second CSS Lecture Applications to XML
CSS Style Sheets: Intro
More CSS 22-Feb-19.
Cascading Style Sheets
CSS Applications to XML 20-May-19.
CSS Applications to XML 3-Jul-19.
Cascading Style Sheets™ (CSS)
Presentation transcript:

LIS650 lecture 2 Major CSS Thomas Krichel

today introduction to style sheets how to give style sheet data basic CSS selectors some important properties some more properties

style sheets Style sheets are the officially sanctioned way to add style to your document We will cover Cascading Style Sheets CSS. This is the default style sheet language. We are discussing version 2.1. This is not yet a W3C recommendation, but it is in last call. You can read all about it at

what is in a style sheet? A style sheet is a sequence of style rules. In the sheet, one rule follows the other. There is no nesting of rules. Therefore the way rules are written in a style sheet is much simpler than the way elements are written in XML. Remember that in XML we have nesting of elements.

what is a style rule about? It is about two or three things –Where to find what to style? --> selector –How style it? Which property to set? --> property name Which value to give to the property? --> property value In this lecture I will use the following syntax –Write property names as {property-name: } –Write property values as value

why are they cascading You can have many style data in different places. Style data comes in the form of rules: at this place, do that. Where there are many rules, there is potential for conflict. We do not learn the exact rules here but note –Some rules are read after others other. Later rules override earlier rules. –Some rules concern more specific locations than others. The specific rules override general rules.

inline style You can add a style attribute to any element that admits the core attributes as in.. where style is a style sheet. Example: I am so blue Such a declaration only takes effect for the element concerned. I do not recommend this.

document level style You can add a style element as part of the header style takes the core attributes. It takes a "type" attribute, "text/css" is the default It takes the "media" attribute for the intended media. See next slide. The "media" attribute allows you to set write different styles for different media.

style sheet media types These are the list of style sheet media –projection – handheld –print – braille –screen (default) – tty –embossed– aural –all Note that style sheet media are not the same as the MIME types. MIME types are a controlled vocabulary for file types.

linking to an external style sheet This is the best way! Use the same style sheet file for all the pages in your site, by adding to every pages something like <link rel="stylesheet" type="text/css" href="URI"/> where URI is a URI where the style sheet is to be downloaded from. On wotan, this can just be the file name. The tag must appear in the, it can not appear in the, sorry!

in our situation… <link rel="stylesheet" type="text/css" href="main.css"/> Then create a file main.css with a simple test rule such as: h1 {color: blue} main.css is just an example filename, any file name will do. Try it out!

basic style syntax selector {property1: value1; property2: value2 … } selector is a selector (see following slides) property is the name of a property value is the value of a property note colon and semicolon use! all names and values are case-insensitive Examples –h1 { color: grey; text-align: center} –.blue {color: blue} /* yes, with a dot */

comments in the style sheet You can add comments is the style sheet by enclosing the comment between /* and */. This comment syntax comes from the C programming language. This technique is especially useful if you want to remove code from your style sheet temporarily.

basic selector the basic selector is a comma-separated list of elementary selectors. Often, the elementary selectors are HTML tags, e.g. h1, h2 {text-align: center} will center all and element contents. but the selectors can be more precise, we are only look at one alternative here, class selectors.

class selectors The is the standard way to style up a class.class { property1: value1; property2: value2 …} will give all the properties and values to any element in the class class. Recall HTML, you can say... to make the element element part of the class class to the element element. Note that you can place any tag into several classes. Use blanks to separate the different class names.

id selectors The standard way to style up a single element is to use its id #id { property1: value1; property2: value2 …} will give all the properties and values to the element with the identifier id. Recall HTML, you can identify an individual element element by giving it an id...

visual style sheets In this class we ignore aural style sheets and work only on visual ones. We have two important concepts. –The canvas is the support of the rendering. There may be several canvases on a document. On screen, each canvas is flat and of infinite dimensions. –The viewport is the part of the canvas that is currently visible. There is only one viewport per canvas. We will now examine some important property values in visual style sheet regarding –colors –distances

property values: colors they follow the RGB color model. expressed as three hex numbers 00 to FF. The following standard color names are defined –Black = #000000Green = #00FF00 –Silver = #C0C0C0 Lime = # –Gray = # Olive = # –White = #FFFFFF Yellow = #FFFF00 –Maroon = # Navy = # –Red= #FF0000Blue = #0000FF –Purple= #800080Teal = # –Fuchsia= #FF00FF Aqua = #00FFFF other names may be supported by browsers.

values: measures relatively –em: the {font-size} of the relevant font –ex: the {x-height} of the relevant font –px: pixels, relative to the viewing device absolutely –in: inches 1 inch is equal to 2.54 centimeters. –cm: centimeters –mm: millimeters –pt: points 1 point is equal to 1/72th of an inch –pc: picas 1 pica is equal to 12 points percentage, depending on other values. That other value may be –some property for other element –same property of an ancestor element –the value used in a formating context.

the default style sheet (extract) blockquote, body, dd, div, dl, dt, h1, h2, h3, h4, h5, h6, ol, p, ul, hr, pre { display: block } li { display: list-item } head { display: none } body { margin: 8px; line-height: 1.12 } h1 { font-size: 2em; margin:.67em 0 } h2 { font-size: 1.5em; margin:.75em 0 } h3 { font-size: 1.17em; margin:.83em 0 } h4, p, blockquote, ul, ol, dl, { margin: 1.12em 0 } h5 { font-size:.83em; margin: 1.5em 0 } h6 { font-size:.75em; margin: 1.67em 0 }

the default style sheet (extract) h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder } blockquote { margin-left: 40px; margin-right: 40px } i, cite, em, var, address { font-style: italic } pre, tt, code, kbd, samp { font-family: monospace } pre { white-space: pre } big { font-size: 1.17em } small, sub, sup { font-size:.83em } sub { vertical-align: sub } sup { vertical-align: super } del { text-decoration: line-through } hr { border: 1px inset } ol, ul, dd { margin-left: 40px } ol { list-style-type: decimal }

important properties We will now look at the properties as defined by CSS. These are the things that you can set using CSS. We group properties into six groups –colors, and background –boxes and layout –fonts –text –lists(later) –tag classification(later)

color & background properties {color: } sets the foreground color of an element. {background-color: } gives the color of the background {background-image: url(URI) } places a picture found at a URI URI. {background-repeat: } can take the value repeat (default), repeat-x, repeat-y, and no-repeat. {background-attachment: } can take the value of fixed or scroll (default) to say if the image scrolls with the viewport.

color & background properties II {Background-position: } property places the background image. It can take values –'0% 0%' to '100% 100%' –'length length' to put length of offset from top left –mixing both is allowed –top, center,bottom and left, right, center can be used too

normal flow In general, every piece of HTML is placed into a conceptual entity called a box. In visual formatting, we can think about the box as a rectangle that fills the material that is being visualized. –For in-line elements, the boxes are set horizontally next to each other. –For block-level elements, the boxes are set vertically next to each other.

the box model The total width that the box occupies is the sum of –the left and right margin –the left and right border width –the left and right padding –the width of the boxs contents A similar reasoning holds for the height that the box occupies.

box properties I {border-color: } can hold up to four colors, separated by blanks –one value means: all borders have the same color –two values mean: first number for top and bottom, second for left and right –three values mean: first sets top, second left and right, third bottom –four values mean: first sets top, second sets right etc. {border-width: } can hold up to four widths, as well as the words 'thin', 'thick' and 'medium'.

box border properties {border-style:} {border-top-style} {border-right-style:} {border- bottom-style:} {border-left-style:} take the following values –none No border. {border-width:} becomes zero –hidden Same as 'none', except in terms of border conflict resolution –dotted The border is a series of dots. –dashed The border is a series of short line segments. –solid The border is a single line segment. –double The border is two solid lines. –groove The border looks as though it were carved into the canvas. –ridge The border looks as though it were coming out of the canvas. –inset The border makes the box look like embedded in the canvas. –outset The border makes the box look like coming out of the canvas.

box properties II {border-top-width: }, {border-bottom-width: }, {border-left-width: } and {border-right-width: } also exist. same properties exists for {margin-top: }, {margin-bottom: } etc and {padding-top: }, {padding-bottom: } etc. {float: } can be one of 'left', 'right' or 'none' which is the default. If a float is set on an element, the text near the element floats on the left or right site of the element's contents. For example, you can use this to create run-in headers.

box properties III {width:} sets the total width of the box and {height:} sets the total height of the box, both take a dimension or the word 'auto' e.g. img {width: 100px; height auto} {clear: } tells the user agent whether to place the current element next to a floating element or on the next line below it. –value 'none' tells the user agent to put contents on either side of the floating element –value 'left' means that the left side has to stay clear –value 'right' means that the right side has to stay clear –value 'all' means that both sides have to stay clear

{position:} 'static' The box is a normal box, laid out according to the normal flow. 'relative' The box's position is calculated according to the normal flow. Then it is offset relative to its normal position. The position of the following box is not affected. 'absolute' The box's position is specified by offsets with respect to the box's containing tag. There is no effect on sibling boxes. 'fixed' The box's position is calculated according to the 'absolute' model, but the reference is not the containing tag but: For continuous media, the box is fixed with respect to the viewport For paged media, the box is fixed with respect to the page

properties with {position:} {top:}, {right:}, {bottom:}, {left:} set offsets if positioning is relative, absolute or fixed. They can take length values, percentages, and 'auto'. the effect of 'auto' depends on which other properties have been set to 'auto Now check the examples page.

box properties V {z-index: } let you set an integer value for a layer on the canvas where the element will appear. If element 1 has z-index value 1 and element 2 has z-index value number 2, element 2 lies on top of element 1. A negative value means that the element contents is behind its containing block. the initial value is 'auto'. browser support for this property is limited.

general background to foreground order For an element, the order is approximately –background and borders of element –children of the element with negative z-index –non-inline in-flow children –children that are floats –children that are in-line in-flow –children with z-index 0 or better not worth remembering for quiz

box properties VI The {visibility: } property sets the visibility of a tag. It takes values –'visible' The generated box is visible. –'hidden' The generated box is invisible (fully transparent), but still affects layout. –'collapse' The element collapses in the table. Only useful if applied to table elements. Otherwise, 'collapse' has the same meaning as 'hidden'. With this you can do sophisticated alignments

box properties VII We now look at overflow and clipping. When a box contents is larger than the containing box, it overflows. {overflow:} can take the values –visible contents is allowed to overflow –hidden contents is hidden –scroll UA displays a scroll device at the edge of the box –auto leave to the user agent to decide what to do

list properties {list-style-position: } can take the value inside or outside. The latter is the default, the property refers to the position of the list item start marker {list-style-property: } –takes the values disc, circle, square, none with an unordered list –takes the value decimal, lower-roman, upper- roman, lower-alpha, upper-alpha with ordered list, and some others {list-style-image: } define the bullet point of a list as a graphic, use url(URL) to give the location of the graphic.

classification properties I {display: } sets the display type of an element, it take the following values –'block' displays the tag contents as a block –'inline' displays it as inline contents –'list-item' makes it an item of a list, you can then attach list properties to it –'none' does not display it –'run-in' (see later) –'compact'(see later)

classification properties II {display: } also takes the following values –table-- table-footer-group –table-row -- table-row-group –table-cell-- table-column –table-caption -- table-column-group –inline-table-- table-header-group these means that they behave like the table elements that we already discussed

run-in box If a block box (that does not float and is not absolutely positioned) follows the run-in box, the run-in box becomes the first inline box of the block box. Otherwise, the run-in box becomes a block box. Example on next page

example for run-in box a run-in box example h3 { display: run-in } a run-in heading and a paragraph of text that follows it and it continues on the line of the h3

compact box If a block-level box follows the compact box, the compact box is formatted like a one-line inline box. The resulting box width is compared to one of the side margins of the block box, –left margin if direction is left-to-right –right margin if direction is right-to-left If the inline box width is less than or equal to the margin, the inline box is given a position in the margin as described immediately below. Otherwise, the compact box becomes a block box.

compact box example <div style="dt { display: compact } dd { margin-left: 4em }> short description goes here. too long for the margin description goes here.

classification properties III The {whitespace:} property controls the display of white space in a block level tag. –'normal' collapses white space –'pre' value similar to tag –'nowrap' ignores carriage returns only It seemed not to work in firefox last time I tried.

text properties I {letter-spacing: } set the spacing between letters, takes a length value or the word 'normal' {word-spacing: } same as for letter-spacing {line-height: } sets the distance between several lines of an element's contents, –in pt or pixel numbers –% age (referring to a percentage of current font size) – with a number (referring to a multiplicity of the size of the text) – 'normal'

text properties II {text-align: } can take the values left right center and justify. {text-decoration: } can take the values underline, overline, line-through and blink. {text-indent: }, {margin-left: } take length units but are best expressed in the relative "em" unit.

text properties III {float: } can be set to left, right and none. {width: } and {height: } can also be set. {vertical-align: } can take the values baseline, middle, sub, super, text-top, text-bottom, top, bottom, as well as percentages. {text-transform: } can take the value uppercase, lowercase, capitalize and none.

font properties I {font-family:} accepts a comma-separated list of font names there are five generic names, one should be quoted last as a fall-back –serif– sans-serif– cursive –fantasy– monospace example *:lang(ja-jp) {font-family: "Heisei Mincho W9", serif}

font propertiesII {font-size: } accepts sizes as npt, n%, +npt, -npt where n is a number, or some sizes like –xx-small– x-small– small– medium –large– x-large – xx-large – larger – smaller incremental font sizes may not be handled properly by the browser. {font-style: } can be either italic, oblique or normal

font properties III {font-variant: } can be either normal or small caps {font-weight: } can be –a number between 100 for the thinnest and 900 for the boldest. 400 is normal. –normal – bold – bolder – lighter {font-stretch: } can be any of –ultra-condensed – extra-condensed – condensed –semi-condensed – normal – semi-expanded –expanded – extra-expanded – ultra-expanded

other font properties There is a whole bunch of other properties –{unicode-range: }– {stemv: } – {stroke: } – {units-per-em: }– {stemh: } – {bbox: } –{definitions-src:} – {ascent: } – {dscent: } – {baseline: }– {widths: } – {mathline: } –{centerline: }– {topine: } – {panose1: } There also is a {font: } property that allows you to put several of the previous properties together. But all that is not worth learning. Keep fonts simple.

table properties I {caption-side:} says where the caption should go, either 'top' or 'bottom' {border-collapse: } allows to choose the fundamental table model. It can take two values –'separate' implies that each cell has its own box. –'collapse' implies that adjacent cells share the same border

table properties II The properties on this slide are only useful if you choose the separated border model. You can set the distance between adjacent cells using the {border-spacing:} property. Set it to two distances to specify different horizontal and vertical values empty-cells: can be set to –'show' shows empty cells with their border –'hide' does not show the border around an empty cell there are some other table properties

Lesk in HTML/CSS I have struggled to reproduce the Lesk tables in the examples area. It is at doc/examples after the directory of the course home page. You can see a version with CSS and a version without CSS.

advice for cheaters Within a style sheet, for example the contents of a element, you can import another file using url( " these two ways appear to be equivalent

media dependent styles Remember the media CSS knows about ? you can import different types for different "URI" medialist where medialist is a list of one or more media, separated by comma challenged.css" braille, handheld

advice about spacing Traditionally only use horizontally, the em nowadays is the height of the font, and should be used vertically as well, as in div.menu {padding: 1.5em; margin: 1.5em} For body, use %ages, as in body {margin-left: 15%; margin-right: 0%} To create a menu, do something like div.menu {float: left; width: 15em}

the 'inherit' value Each property can have the 'inherit' value. In this case, the value of the property for the element is determined by the containing element. Sometimes, 'inherit' is the default value.

validating CSS It is at Check your style sheet there when you wonder why the damn thing does not work. Note that checking the style sheet will not be part of the assessment of the web site.

Thank you for your attention!