Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework

Similar documents
INTRODUCTION TO CSS. Mohammad Jawad Kadhim

COMS 359: Interactive Media

Assignments (4) Assessment as per Schedule (2)

CSS.

Cascading Style Sheets Level 2

BIM222 Internet Programming

CSS Cascading Style Sheets

Introduction to WEB PROGRAMMING

The Benefits of CSS. Less work: Change look of the whole site with one edit

<style type="text/css"> <!-- body {font-family: Verdana, Arial, sans-serif} ***set font family for entire Web page***

Cascading Style Sheet

CSS: Cascading Style Sheets

Zen Garden. CSS Zen Garden

CSS 1: Introduction. Chapter 3

Creating and Building Websites

ADDING CSS TO YOUR HTML DOCUMENT. A FEW CSS VALUES (colour, size and the box model)

2. Write style rules for how you d like certain elements to look.

Cascading Style Sheets (CSS)

Block & Inline Elements

Introduction to Multimedia. MMP100 Spring 2016 thiserichagan.com/mmp100

CSS

HTML & CSS. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Styling Web Applications Presented by Roel Fermont

Setting a Background Image

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148

3.1 Introduction. 3.2 Levels of Style Sheets. - The CSS1 specification was developed in There are three levels of style sheets

- The CSS1 specification was developed in CSS2 was released in CSS2.1 reflects browser implementations

HTML/CSS. HTML review and extra CSS review CSS Color

CSS. Shan-Hung Wu CS, NTHU

CE419 Web Programming. Session 3: HTML (contd.), CSS

Welcome Please sit on alternating rows. powered by lucid & no.dots.nl/student

CSS Selectors. element selectors. .class selectors. #id selectors

CREATING A WEBSITE USING CSS. Mrs. Procopio CTEC6 MYP1

Session 4. Style Sheets (CSS) Reading & References. A reference containing tables of CSS properties

Styles, Style Sheets, the Box Model and Liquid Layout

CSC309 Winter Lecture 2. Larry Zhang

By Ryan Stevenson. Guidebook #3 CSS

CSS Cascading Style Sheets

Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo

Web Application Styling

CSS means Cascading Style Sheets. It is used to style HTML documents.

Lab 4 CSS CISC1600, Spring 2012

CSS: The Basics CISC 282 September 20, 2014

CSS: Cascading Style Sheets

COSC 2206 Internet Tools. CSS Cascading Style Sheets

Cascading style sheets, HTML, DOM and Javascript

Make a Website. A complex guide to building a website through continuing the fundamentals of HTML & CSS. Created by Michael Parekh 1

In the early days of the Web, designers just had the original 91 HTML tags to work with.

CSS مفاهیم ساختار و اصول استفاده و به کارگیری

CSS: formatting webpages

Chapter 3 Style Sheets: CSS

Class 3 Page 1. Using DW tools to learn CSS. Intro to Web Design using Dreamweaver (VBUS 010) Instructor: Robert Lee

HTML and CSS: An Introduction

Data Visualization (DSC 530/CIS )

CMPT 165 Advanced XHTML & CSS Part 3

Three Ways to Use CSS:

Unit 10 - Client Side Customisation of Web Pages. Week 5 Lesson 1 CSS - Selectors

CSE 154 LECTURE 3: MORE CSS

CSS worksheet. JMC 105 Drake University

Data Visualization (CIS/DSC 468)

8a. Cascading Style Sheet

CSS BASICS. selector { property: value; }

Introduction to using HTML to design webpages

Client-Side Web Technologies. CSS Part I

Tutorial 3: Working with Cascading Style Sheets

Intermediate Web Publishing: Working with Styles

To link to an external stylesheet, the link element is placed within the head of the html page:

HTML and CSS COURSE SYLLABUS

Appendix D CSS Properties and Values

Cascading Style Sheet. Styles as Tag Attributes. Syntax. <h1>: what font type/size is used? STYLE = SELECTOR {RULES} Attributes such as bgcolor

Reading 2.2 Cascading Style Sheets

CISC1600-SummerII2012-Raphael-lec3 1

Introduction to Web Programming and Design

CSCB20 Week 7. Introduction to Database and Web Application Programming. Anna Bretscher Winter 2017

HTML + CSS. ScottyLabs WDW. Overview HTML Tags CSS Properties Resources

ID1354 Internet Applications

HTML/XML. HTML Continued Introduction to CSS

INTRODUCTION TO CSS. Topics MODULE 5

Session 3.1 Objectives Review the history and concepts of CSS Explore inline styles, embedded styles, and external style sheets Understand style

Review Question 1. Which tag is used to create a link to another page? 1. <p> 2. <li> 3. <a> 4. <em>

Deccansoft Software Services

Using Dreamweaver to Create Page Layouts

What is the Box Model?

Web Designer s Reference

CSc 337 LECTURE 3: CSS

YouTube Break.

Chapter 4 CSS basics

Web Information System Design No.4 Put Style to Web Documents. Tatsuya Hagino

The internet is a worldwide collection of networks that link millions of computers. These links allow the computers to share and send data.

COMS 359: Interactive Media

Introduction to Cascading Style Sheets

ITNP43: HTML Lecture 4

What is CSS? NAME: INSERT OPENING GRAPHIC HERE:

INTRODUCTION TO HTML5! CSS Styles!

CSS FOUNDATIONS IN-DEPTH. The nitty-gritty of css...

CS193X: Web Programming Fundamentals

Text and Layout. Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 11. This presentation 2004, MacAvon Media Productions

INFORMATICA GENERALE 2014/2015 LINGUAGGI DI MARKUP CSS

CSS3 Basics. From & CSS Visual Dictionary Learning Curve Books, LLC

READSPEAKER ENTERPRISE HIGHLIGHTING 2.5

Transcription:

Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework Presented by Roel Fermont 1 Today more than ever, Cascading Style Sheets (CSS) have a dominant place in online business. CSS provides developers with complete control over the styling of websites and DataFlex web apps. CSS can make them look unique and attractive. And, it s an easy technology to learn with high impact results. You should definitely try it - Roel will get you started! This 30 minute session will take you through the basics of CSS, making it easier to understand how and why it is used and, specifically how it s related to the DataFlex Web Framework.

2

Today we re only scratching the surface Understanding CSS How to add CSS What is CSS Extras Precedence 3

Where it all started 1989 - The dark ages of web design 1995 - Tables: the beginning 1995 - JavaScript comes to the rescue 1996 - Flash 1998 CSS 2007 - Mobile grids and frameworks 2010 - Responsive web design 2010 - Flat design 2015 - The future of CSS 4

CSS CASCADING A set of rules resolving conflicts with multiple CSS rules applied to the same elements. e.g. if there are two rules defining the color on your h1, the rule that comes last in the cascade will trump the other. STYLE How you want a certain part of your web application to look. e.g. you can set things like colors, margins, fonts. SHEETS The sheets are like templates, or a set of rules, for determining how your web application will look. e.g. System.css, Application.css and Theme.css 5 CSS (all together) is a powerful styling language a set of rules used to control the look and feel of your web application.

Syntax CSS Selector + CSS Declaration = CSS Rule property / value Selector { property: value; } 6

CSS Selector Associates CSS rules with HTML elements body { } p { } h1 { } Can have multiple properties and each property within can have independent values Apply styles to multiple selectors in the same rule by separating the selectors with commas. h1, h2, h3 { } 7

CSS Declaration Sits inside curly brackets { } and is made up of two parts: a property and a value Specify multiple declarations to a selector by separating the properties with a semi-colon ( ; ) Specify multiple properties 8

CSS Declaration: Property Large collection of property names also known as CSS identifiers Must be specified correctly Otherwise the declaration will be ignored Each property has its own requirements and restrictions e.g. color, font, width, height, border Separated by a colon ( : ) 9

CSS Declaration: Value Let you specify the settings for the chosen properties Multiple values within a property are separated by commas (, ) If an individual value contains more than one word surround it with quotation marks ( ' ' ) 10

11

Benefits (practical reasons) CSS is much more than just a way of making cool looking web applications Easily edit the formatting of multiple views (consistency) Create rules and apply those rules to many elements within your web application. Performance Rules are downloaded once by the browser, then are cached and used for each page load. Options More options and control over the appearance because of a wide array of attributes. Efficiency Quickly control all elements from one (or several) stylesheet(s) 12

13 Understanding CSS

1 CSS Box model a box that wraps around HTML elements The key to understand CSS is to think inside the box! * { border: 1px solid red!important;} Imagine that there is an invisible box around every HTML element. Manipulating block-level elements is in essence the way to lay out your web application. 14

Margin Border Padding Content Content The content of the box, where text and images appear Padding Clears an area around the content. The padding is transparent Border A border that goes around the padding and content Margin Clears an area outside the border. The margin is transparent 15

The default width If padding or borders are undeclared, they are either zero or the browser default value. The DataFlex Framework uses a css reset. If you don t declare a width, the width will remain 100% in width and the padding and border will push inwards instead of outwards. 16

2 Block-level and Inline elements elements can be divided into these two categories Block-level elements If no width is set, it will expand to fill its parent container Can have margin and padding Generate a line break and can have dimensions Examples: <p>, <div>, <ul>, <h1> Inline elements Flow along with text content, thus Will not clear previous content to drop to the next line Will ignore top and bottom margin, but will apply left and right margin, and any padding Will ignore width and height properties Examples: <a>, <span>, <strong>, <b> 17

2 Block-level and Inline elements elements can be divided into these two categories Block-level elements If no width is set, it will expand to fill its parent container Can have margin and padding Generate a line break and can have dimensions Examples: <p>, <div>, <ul>, <h1> Inline elements Flow along with text content, thus Will not clear previous content to drop to the next line Will ignore top and bottom margin, but will apply left and right margin, and any padding Will ignore width and height properties Examples: <a>, <span>, <strong>, <b> 18

2 Block-level and Inline elements elements can be divided into these two categories Block-level elements If no width is set, it will expand to fill its parent container Can have margin and padding Generate a line break and can have dimensions Examples: <p>, <div>, <ul>, <h1> Inline elements Flow along with text content, thus Will not clear previous content to drop to the next line Will ignore top and bottom margin, but will apply left and right margin, and any padding Will ignore width and height properties Examples: <a>, <span>, <strong>, <b> 19

2 Block-level and Inline elements elements can be divided into these two categories Block-level elements If no width is set, it will expand to fill its parent container Can have margin and padding Generate a line break and can have dimensions Examples: <p>, <div>, <ul>, <h1> Inline elements Flow along with text content, thus Will not clear previous content to drop to the next line Will ignore top and bottom margin, but will apply left and right margin, and any padding Will ignore width and height properties Examples: <a>, <span>, <strong>, <b> 20

DIV vs Span The <div> element allows you to group a set of elements together in one blocklevel box. Is a block-level element. The <span> element acts like an inline equivalent of the <div> element. Is an inline element. 21

3 Selectors selectors allow you to target rules to specific elements in an HTML document Are case sensitive so they must match element names an attribute values exactly. There are many different types of CSS selectors 22

3 Selectors selectors allow you to target rules to specific elements in an HTML document Universal Selector Are case sensitive Id Selector Targets all elements so they must match element Targets names id an names attribute values exactly. div * { } #OWEBAPP{ } Attribute Selector Targets also any other attribute Input [type="text"] { } There are many different types of CSS selectors Type Selector Child Selector Targets element names h1, p, span { } Targets a direct child of another li > a { } Class Selector Targets class names.webfrm_wrapper { } Descendant Selector Targets a decendent of another ul li { } 23

Class selectors VS ID selectors An ID is more specific than a class An element can have both an ID and multiple classes IDs or Classes can use UPPER and lower case Do NOT start an ID or Class name with a number! You can however use numeric and non-alpha numeric values in your ID and Class e.g. #WebDP_BtnNext-2 or.webdp_btnprevious-2 IDs are prefixed with a hash ( # ) symbol and Classes are prefixed with a period (. ) 24

Class selectors VS ID selectors ID selectors Are unique Can be used only once Use an id if: The style is used only only once The style is specific to a certain area #myid Class selectors Are not unique An element can have multiple classes and multiple elements can have the same class Use a class if: The style is used in various places The style is general.myclass 25

Pseudo class selectors Is a CSS selector with a colon ( : ) preceding them. a:hover{ } They allow you to style content dynamically 26 The difference between Pseudo Elements and Pseudo Selectors is that Pseudo Elements don t select any real element.

Pseudo class selectors Is a CSS selector with a colon ( : ) preceding them. Link-related selectors Input-related selectors a:hover{ } :link { } :focus { } :visited They { allow } you to style content :disabled dynamically{ } :hover { } :active { } Content-related elements ::before { } ::after { } 27 The difference between Pseudo Elements and Pseudo Selectors is that Pseudo Elements don t select any real element.

Using multiple classes They can make it easier to add unique styles to elements without having to create a whole new style <p class= item roundedcorners left > </p> They can give you more control. You can target elements that have combinations of classes and Ids Using multiple classes can be very complicated Selects the You element run the which risk has of having an ID header the styles override the Select style all elements for another with the class item that are and also a class name item. decendents of the element with an ID header. 28

Using multiple classes They can make it easier to add unique styles to elements without having to create a whole new Can style you spot the difference between these two selectors? <p class= item roundedcorners left > </p> #header.item They can give { } you more control. You can target #header elements.item that have { } combinations of classes and Ids <div id="header" class="item"> <div id="header" class="item"> <div class="item"> Using multiple classes can be very complicated </div> </div> </div> Selects the You element run the which risk has of having an ID header the styles override the Select style all elements for another with the class item that are and also a class name item. decendents of the element with an ID header. 29

4 Precedence The Cascade, Specificity, Inheritance Understanding how CSS rules cascade means you can write simpler style sheets. If there a two or more rules that apply to the same element, it is important to understand which will take precedence. Three things that control which CSS rule applies to a given html element: 30 The Cascade Specificity Inheritance

The Cascade Is a mechanism for determining which styles should be applied to a given element, based on the rules that have cascaded down from various sources. It takes importance, origin, specificity, and source order of style rules into account. It assigns a weight to each rule and this weight determines which rule takes precedence, when more than one applies 31

The Cascade Is a mechanism for determining which styles should be applied to a given element, based on the rules that have cascaded down from various sources. It takes importance, origin, specificity, and source order of style rules into account. It assigns a weight to each rule and this weight determines which rule takes precedence, when more than one applies 32

System CSS (framework) Theme CSS (designer) Custom CSS Classes (developer & designer) DataFlex Properties (developer) CSS required for functioning of controls AppHtml\DfEngine\System.css (external style sheet) Global styles for the controls defined in CSS file Switch using pstheme property on owebapp AppHtml\CssThemes\<psTheme>\Theme.css (external style sheet) Application specific CSS declarations Assigned using pscssclass or pshtmld AppHtml\CssStyle\Application.css (external style sheet) Properties on DataFlex classes Inline styles set by JavaScript engine (inline styles) 33

Specificity It determines which CSS rule is applied Every selector has its specificity #content h1 { padding: 5px; } #content h1 { padding: 10px; } If two rules share the same weight, source and specificity, the later one is applied. h1 is more specific than * p b is more specific than p 34 p#owebapp is more specific than p

CSS Selector Inherited styles Description Lowest specificity of all selectors - since an inherited style targets the element's parent, and not the HTML element itself. * Lowest specificity of all directly targeted selectors element Higher specificity than universal selector and inherited styles. attribute class ID Combined selectors Higher specificity than element selector Higher specificity than attribute, element and universal selectors. Higher specificity than class selector. Gets the specificity of the selectors combined. 35 CSS properties set directly on element, insidestyle attribute. Stronger specificity than ID selector.

Inheritance Elements inherit styles from their parent container Not all CSS properties are inherited e.g. margin and padding are non-inherited 36 HTML <body> <div> <ul> <li></li> </ul> </div> </body> Relationship Parent of the HTML document Parent of ul and li, child of body Parent of li, child of div and body Child of ul, div, and body

5 Adding CSS there are various ways to adding CSS to your web application Internal Inline External <head> <style type="text/css"> body { color: #000; font-family: Helvetica, sans-serif; } p { line-height: 1,5; font-size:14px; } </style> </head> 37

5 Adding CSS there are various ways to adding CSS to your web application Internal Inline External <head> <style type="text/css"> body { color: #000; font-family: Helvetica, sans-serif; } <p p { style="font-size:14px;">dataflex</p> line-height: 1,5; font-size:14px; } </style> </head> 38

5 Adding CSS there are various ways to adding CSS to your web application Internal Inline External <head> <style type="text/css"> body { color: #000; font-family: Helvetica, sans-serif; } <p <head> p { style="font-size:14px;">dataflex</p> <link rel="stylesheet" type="text/css" line-height: 1,5; href="cssthemes/theme.css"> font-size:14px; </head> } </style> </head> 39

Extras: CSS Reset /* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquo te,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,l i,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td, article,aside,canvas,details,embed,figure,figcaption,footer,header,hgr oup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border: 0;font-size:100%;font:inherit;verticalalign:baseline;margin:0;padding:0}article,aside,details,figcaption,fig ure,footer,header,hgroup,menu,nav,section{display:block}body{lineheight:1}ol,ul{liststyle:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;borderspacing:0} 40 www.cssreset.com

Extras: CSS Shorthand Shorthands handling properties related to edges of a box 1 1 1 1 1 1 2 2 2 2 4 2 1 The 1-value syntax 1 The 2-value syntax 3 The 3-value syntax 3 The 4-value syntax Shorthands handling properties related to corners of a box 1 1 1 2 1 2 1 2 1 1 The 1-value syntax 2 1 The 2-value syntax 2 3 The 3-value syntax 4 3 The 4-value syntax 41

Background properties 1 background-color: #000; 2 background-image: url (images/bg.gif); 3 background-repeat: no-repeat; 4 background-position: top right; 1 background: #000 url (images/bg.gif) no-repeat top right; Margin and Padding properties 42 1 margin-top: 10px; 2 margin-right: 5px; 3 margin-bottom: 10px; 4 margin-left: 5px; 1 margin: 10px 5px 10px 5px; 1 margin: 10px 5px; the values are in clockwise order from top: top, right, bottom, left

Got lost along the way? Precedence The Cascade / Specificity / Inheritance Block-level and Inline elements div / span CSS Box-model Content / Padding / Border / Margin Adding CSS Inline / Internal / External Selectors and Pseudo selectors Class and ID selectors 43

Resources www.w3schools.com/css www.codecademy.com/en/tracks/web www.codeschool.com/paths/html-css and there are many more resources The possibilities with CSS are endless. Today was just scratching the surface. CSS is the way to go, so why not get there now! 44

Thank you for your time! We re looking forward seeing great designs from you! 45 Need help styling your theme or web application? Contact Data Access Europe info@dataaccess.eu