+ All Categories
Home > Documents > CSS for Geographers -...

CSS for Geographers -...

Date post: 07-Sep-2019
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
45
Transcript
Page 1: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

CSS for GeographersCSS for Geographers

Page 2: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

This talk is all fundamentals.This talk is all fundamentals.

Page 3: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

First Some NotesFirst Some NotesLots of supplemental info in these slides.

Designed to help you keep learning beyond this talk.

Pretty much everything is a link.

Slides http://bit.ly/2CF5kQw

Page 4: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

CSS is HardCSS is HardCloser to art then computer scienceDesign AND developmentLots of unintuitive conceptsIt has taken me years to amass this knowledgeChanges somewhat frequentlyBest practices change

Page 5: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Lets do stuff with CSS!Lets do stuff with CSS!Customize Esri AppsUse FrameworksBuild Web PagesMake Apps

Page 6: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

BasicsBasics

Page 7: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Where does CSS go?Where does CSS go?Inside a <style> tag.

Inside a .css file that is loaded with a <link> tag.

In the <head> tag of your .html files.

<style>/* Put CSS here*/</style>

<link href="my-css-file.css" rel="stylesheet" type="text/css"

Page 8: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

What does CSS look like?What does CSS look like?html, body, #map {

margin: 0;width: 100%;height: 100%;

}

Page 9: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

SelectorSelectorhtml, body, #map      

Page 10: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

DeclarationDeclarationhtml, body, #map {   }

Page 11: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

PropertyPropertyhtml, body, #map {

margin:  }

Page 12: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

ValueValuehtml, body, #map {

margin: 0;  }

Page 13: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

PropertyPropertyhtml, body, #map {

margin: 0;width:

 }

Page 14: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

ValueValuehtml, body, #map {

margin: 0;width: 100%;

 }

Page 15: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

PropertyPropertyhtml, body, #map {

margin: 0;width: 100%;height:

}

Page 16: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

ValueValuehtml, body, #map {

margin: 0;width: 100%;height: 100%;

}

Page 17: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

A CSS RuleA CSS Rulehtml, body, #map {

margin: 0;width: 100%;height: 100%;

}

Page 18: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

How does CSS work?How does CSS work?

Page 19: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

How does CSS work?How does CSS work?The "C" is for Cascading

Page 20: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

CascadingCascading Style Sheets Style SheetsStyles from different sources cascade and coalesce into the final styles for the

HTML tags that match their selectors.

Page 21: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

A Typical CascadeA Typical CascadeBrowser default stylesheetUser defined stylesheetsStylesheets you include with <link><style> tags

Inline <style> attributes <div style="...">CSS values with !important

Page 22: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

CSS SpecificityCSS SpecificityWhen properties collide specificity determines which property wins.

Rules with !important1.

Inline styles <div style="...">2.

<style> and <link> tags3.

Selector specificity4.

Page 23: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Selector SpecificitySelector Specificity#foo - <div id="foo">1.

.foo - <div class="foo">2.

tag - <div>3.

CSS Explain

Page 24: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

In a specificity tie the last loaded rule wins.

Page 25: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

In PracticeIn PracticeRight click on something you want to change click "Inspect Element"

Explore a Storymap

Page 26: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Lets Build an App!Lets Build an App!

Page 27: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

vs vs BlockBlock InlineInlineThe Difference Between “Block” and “Inline”Block-level elementsInline elementsLearn CSS Layout: the "display" property

Page 28: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

UnitsUnitsFull unit referenceThe Lengths of CSSUnit and Values - QuirksMode

Page 29: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Bonus Demo:

Bonus Demo #2:

FloatsFloatsAll About FloatsCSS Floats 101Learn CSS Layout: float

Problems with Floats

Clearing Floats

Page 30: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

The Box ModelThe Box ModelThe CSS Box ModelIntroduction to the CSS box modelLearn CSS Layout: the box model

Page 31: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Box SizingBox SizingLearn CSS Layout: box-sizing* { Box-sizing: Border-box } FTWBox Sizingbox-sizing

Page 32: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

FlexboxFlexboxFlexbox FroggyA Visual Guide to CSS3 Flexbox PropertiesLearn CSS Layout: flexboxCan I Use: flexboxA Complete Guide to FlexboxUsing CSS flexible boxes

Page 33: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

CSS GridCSS GridGrid GardenA Complete Guide to GridGrid by ExampleDebugging Grid LayoutsIntro to CSS Grid: Jen Simmons

Bonus Demo: CSS Grid Template Areas

Page 34: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Margin, Padding and BordersMargin, Padding and BordersMastering margin collapsingWhat You Should Know About Collapsing MarginsCompare block elements to pictures hanging on a wall

Page 35: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Media Queries and ResponsiveMedia Queries and ResponsiveDesignDesign

Responsive design galleryUsing media queriesMedia Queries for Standard DevicesLearn CSS Layout: media queries

Page 36: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

PositioningPositioningLearn CSS Layout: positionposition

Page 37: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Typography (Choosing Fonts)Typography (Choosing Fonts)Google FontsGoogle Web Fonts Typographic ProjectFont PairFont tool roundup

Page 38: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Typography (Sizing Type)Typography (Sizing Type)TypeScaleA More Modern Scale for Web Typography

Page 39: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Adding ColorAdding ColorFlat UI ColorsCalcite Web ColorsColor Pairing MatrixAdobe KulerColor Lovers

Page 40: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

~120 lines of CSS, ~30 lines of JS.

Adding JavaScriptAdding JavaScriptBonus Demo: w/ CSS Grid

Page 41: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Browser CompatibilityBrowser CompatibilitySites like or to check if browsers support a specific property.

Sometimes experimental or partially supports CSS properties will require a-webkit-, -moz- or -ms- prefix. Tools like to add prefixes

automatically.

was introduced with CSS grid to check for support of new features.

Can I Use? MDN

Autoprefixer

@supports

Page 42: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

More Browser CompatibilityMore Browser CompatibilityRemember Microsoft only supports IE 11 officially now. All other versions are

not supported and might have security bugs.

Page 43: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Best PracticesBest PracticesKeep selectors as simple as possibleDon't use tools until you are familiar with the basicsAdd tools when you feel limited or want more productivityDon't worry so much about browser compatibilityWatch out for the size of web fontsAvoid floats for layout, try using Flexbox and GridYou can learn A LOT with inspector

Page 44: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Slides at http://bit.ly/2T4zaKJ

Page 45: CSS for Geographers - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit19/papers/DevSummitPS_57.pdf · First Some Notes Lots of supplemental info in these slides.

Recommended