Introduction to Frontend Development - Session 2 - CSS Fundamentals
Agenda● What do we have so far● What is CSS● Including CSS in your documents● Block-level elements properties● Setting up the layout of the document● CSS properties and selectors to learn today● Class and home exercises
What is CSS● CSS stands for Cascading Style Sheets● Styles define how to display HTML elements● External style sheets save a lot of work● External style sheets are stored in CSS files
Methods of including CSS● Inline stylesPlaced inside the HTML document, style information on a single element,specified using the style attribute● Embedded styleBlocks of CSS information inside the HTML itself● External style sheets - highly recommendedSeparate CSS file is referenced.● ImportImporting CSS file from another CSS file when many files are to be edit
Rule of thumbWhen styling a HTML element, the closer the CSS rule is tothe given element, it overrides any preceding CSS rulesbefore that.By importance: Link > Import > Embedded > InlineNote: Override any rule with the !important property.
PracticeDoing: Try the 4 methods of including CSSAt the end: separate file style.css in css folder
Block-level elements● May appear only within a <body> element● Typically formatted with line breaks● May contain both inline and other block-level elements● Contain "larger" structures
Inline elements● May contain only data and other inline elements● By default, do not begin with a new lineList of inline elements:● b, big, i, small, tt● abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var● a, bdo, br, img, map, object, q, script, span, sub, sup● button, input, label, select, textarea Source: MDN
PracticeDoing: Setup the header, content and footer regions.At the end: an index.html file with HTML markup forheader, content and footer div containers, together with aCSS file (empty)
Display property● Sets the way to display a HTML element● Most popular values ○ none - not displayed at all ○ block - displayed as a block-level element ○ inline - default value, displayed as an inline element ○ table - displayed as a table
Width and height properties● height property sets the height of the element● width property sets the height of the elementBoth could take dimensions in px, pt, etc., orpercentage metrics.Values can also be auto or inherit.
Float properties● Property to specify whether or not an element should float.● Property options ○ left ○ right ○ none - default value
Clear properties● Property to specify which sides of an element do not allow other floating elements● Property options ○ left/right ○ both - most common use ○ none
Position property● Specifies the type of positioning method used for an element● Property options ○ static - elements render in the same order they are in the document ○ absolute - relative to the first positioned (not static) ancestor element ○ fixed - relative to the browser window ○ relative - relative to its normal position
Border property● Sets properties for the outline of the element● Shorthand for setting all properties at once● Property options ○ border-width ○ border-style ○ border-color
Padding and margin properties● Padding - space between content of an element and its border. Negative values are not allowed.● Margin - space between element border and elements next to it. Negative values are allowed.
PracticeDoing: Write the CSS to visualize the layoutAt the end: an index.html file with HTML markup forheader, content and footer div containers, together with aCSS file with selectors and properties to visualize themarkup well enough so one can "see" the divisions.
Summary: HTML study● Block-level and inline elements in HTML● HTML tags: ○ html, head, body ○ header, content, sidebar and footer ○ navigation
Summary: CSS study● Theory: Including CSS to HTML documents● Techniques: CSS reset● Properties: display block, inline, none position relative, absolute width size metric border size, color and place height size metric padding b/n content and border float left, right margin b/n border and outer element clear both
Practice at class● CSS reset● Layout setup for ○ header ○ group ○ content ○ main ○ footer● Set fixed sizes on block elements● Color the borders to see the layoutIf youre ready, start your homework at class :)
Practice at home● Read and learn about: ○ fonts in CSS ○ text CSS properties ○ background properties● Repeat class exercises if necessary● Make sure you understand how to make layouts