If you’re seeing this, the site behind it is likely broken!

Hi, there. I use these course sites as little sandboxes to experiment with and learn various “brand new” CSS properties—and your browser does not support (at least) one of them. Apologies. It “should” always work in current/updating Safari and Chrome!

  • Typography & Interaction

    ’25–26

  • The Syllabus

  • Our Class

  • Unit Nº 1: “Type and the Web”

    Wks. 1–6

    • Week Nº 1

      Aug. 29

    • Everything Is a “Web Page”

    • Week Nº 2

      Sep. 5

    • It’s All About Type

    • Week Nº 3

      Sep. 12

    • An Intro to HTML

    • Week Nº 4

      Sep. 19

    • An Intro to CSS

    • Week Nº 5

      Sep. 26

    • The Box Model

    • Project Nº 1: “Manuscript”

      Oct. 3

    • Week Nº 6

      Oct. 3

  • Unit Nº 2: “There Is No Perfect Layout”

    Wks. 7–10

    • Week Nº 7

      Oct. 10

    • Responsive Design

    • DevTools (Web Inspector)

    • Week Nº 8

      Oct. 17

    • Finally, Flexbox

    • And (CSS) Grid

    • Week Nº 9

      Oct. 24

    • Some Additional, Advanced CSS

    • Project Nº 2: “Spread”

      Oct. 31

    • Week Nº 10

      Oct. 31

  • Unit Nº 3: “Typography as Interface”

    Wks. 11–15

    • Week Nº 11

      Nov. 7

    • Working with Images

    • Week Nº 12

      Nov. 14

    • Session Recording

      Brief Demo Time

      We want to pick up from last week’s demo, quickly showing how you will structure your final projects:

      1. We’re going to use cascade layers to avoid specificity problems!

        These are a somewhat recent addition to CSS, and will help us manage our overlapping rules.

      2. Add this to your landing page <head>, replacing our two <link> elements:

        						<style>
        	@import 'reset.css' layer(reset);
        	@import 'common.css' layer(common);
        </style>
        
        			
        	

        This still “links” your stylesheets (now via @import), but enforces the override order declared by @layer.

      3. Duplicate your “winning” direction’s directory, direction-1/ → article-name/

      4. Replace the <link> elements there too, updating the path and adding the page-specific styles:

        						<style>
        	@import '../reset.css' layer(reset);
        	@import '../common.css' layer(common);
        	@import 'style.css' layer(page);
        </style>
        
        			
        	
      5. Now any styles you write in the page-specific style.css will override the common.css⁠—no matter the how complicated the selector or specificity!

      6. “Promote” your winning direction’s styles up to your common.css! These are now the basis for your design system

      7. Duplication article-name/ twice for your other texts, second-one/ and third-text/

      8. Update the <title> and <h1> in each of these to match your different texts

        For next week, you will be incorporating the semantic DOM for the actual texts!

      9. Update the links on your landing page navigation to point to these new folders (instead of your directions)

      10. And likewise update the per-page navigation, so they all link to one-another

      11. Later (when you don’t need anything from them), you can delete your other directions to “tidy up”

      This is how you will develop the system!

      Project 3 Check-Ins

      We’ll spend the bulk of class today looking through your initial third project sketching. We’ll try using our other room for less chaos:

      Group Nº 1

      • Ali
      • Amanda
      • Cason
      • Chareese
      • Evgenii
      • Katie
      • Kimaya
      • Kinza
      • Lucy
      • Noor

      Group Nº 2

      • Maika
      • Melody
      • Mia
      • Michael
      • Riya
      • Soko
      • Sooim
      • Sophia
      • Trenton
      • Zarah

      The plan:

      • Our goal is that everyone will see one of us

      • We’ll shoot for about 10 minutes with each of you

      • We’ll see five people, take a short break, then switch groups

      • Give us some brief background and then right into your directions

      • Have your work up on your phone

      • We want to focus on the Big Picture, to start⁠—let’s save specific/​technical minutia for later/​Slack

      • Have your laptop/​notebook ready for notes!

      • Feedback for one group is often feedback for all; let’s be actively listening to each turn

      For Next Week

      • You’ll be moving into the next phase of your Binding projects. Narrow your design direction while incorporating your other texts, building it out across all your pages⁠—and start to flesh it out across the breakpoints:

        Project Nº 3: Develop the System

      • As noted on the project page, we also want you to weigh in on your former partner’s work in a GitHub Issue! The more thorough, the better⁠—for both of you.

        Share your repo links with each other on Slack. It might be more useful to do this after your former partner has put in some more work⁠—so communicate/​coordinate around that.

      • When you are ready, send us your links as usual:

        Submission Form
        You’ll also include a link to the issue you file!

    • Week Nº 13

      Nov. 21

    • Thanksgiving Week

    • Project Nº 3: “Binding”

      Dec. 5

    • Week Nº 14

      Dec. 5

    • Week Nº 15

      Dec. 12

  • Winter Break

  • Unit Nº 4: “Interface as Interface”

    Wks. 16–21

    • Week Nº 16

      Jan. 21

    • Week Nº 17

      Jan. 28

    • An Intro to JavaScript

    • Week Nº 18

      Feb. 4

    • Some More JavaScript

    • Week Nº 19

      Feb. 11

    • Week Nº 20

      Feb. 18

    • Project Nº 4: “Links”

      Feb. 25

    • Week Nº 21

      Feb. 25

  • Unit Nº 5: “If All You Have Is a Hammer, Everything Looks like a Nail”

    Wks. 22–30

    • Week Nº 22

      Mar. 4

    • Putting a (Link/​Meta) Bow on It

    • Week Nº 23

      Mar. 11

    • Spring Break

    • Week Nº 24

      Mar. 25

    • Week Nº 25

      Apr. 1

    • Week Nº 26

      Apr. 8

    • Week Nº 27

      Apr. 15

    • Project Nº 5: “Functions”

      Apr. 22

    • Week Nº 28

      Apr. 22

    • Week Nº 29

      Apr. 29

    • Week Nº 30

      May 6

    • “Everything Else”

    • The end