Giter VIP home page Giter VIP logo

lichtbediening's Introduction

Herkansing CSS to the Rescue

cover

Live demo: https://maxvl3.github.io/cssHerkansing/

Dit is mijn herkansingsopdracht voor het vak CSS to the rescue. Tijdens dit vak leer ik nieuwe CSS technieken, en bouw ik als eindproduct een interactief experiment.

Als eindproduct heb ik gekozen om een bedieningspaneel te bouwen waarmee de gebruiker het licht kan bedienen in een kamer.

Functionaliteiten

  • Aan/uit zetten
  • Dimmen/feller zetten
  • Kleur aanpassen
  • Partymode activeren

Gebruikte technieken

  • HTML
  • CSS
  • JavaScript (mini range scriptje)

Reflectie eerste beoordeling

Voor mijn eerste beoordeling heb ik een dj draaitafel gemaakt als eindproduct. Hier het linkje naar de repository: https://github.com/maxvl3/css-to-the-rescue-2223. Helaas was dit nog niet goed genoeg om het vak af te sluiten met een voldoende. Hierbij even een kort overzicht van wat er goed en fout was aan dit eindproduct:

Wat was al goed?

  • Geëxperimenteerd met nieuwe css technieken
  • Goed en duidelijk concept
  • Mooie vormgeving

Wat moest beter?

  • Er waren geen interacties
  • Proces was niet op orde

Nieuw concept

Ik heb ervoor gekozen om niet door te gaan met mijn oude concept (dj draaitafel). De reden daarvoor was dat ik te weinig ideeën had hoe ik de draaitafel interactief kon maken. Ook waren de HTML elementen die ik had geschreven niet helemaal optimaal om interactie aan toe te voegen.

Mijn nieuwe concept focust zich voornamelijk op interactie, omdat dit juist hetgeen was dat miste. Ik heb een digitale LoFi schets gemaakt in Figma zodat ik me minder druk hoefde te maken met de vormgeving.

concept

Nieuwe CSS technieken

Ik mijn vorig eindproduct had al wat geëxperimenteerd met nieuwe CSS technieken. Dat waren de volgde technieken:

  • HSL kleuren
  • Display p-3
  • Native CSS nesting
  • Dark/light mode

Voor mijn herkansing heb ik nog eens gekeken welke technieken nog meer handig zijn om te leren. En vooral de technieken die nuttig zijn bij het maken van interacties.

  • Has selector
  • ::before/::after
  • Data attributes

De has selector vond ik voordat ik mijn herkansings eindproduct maakte erg vaag. Maar nu heb ik me er meer in verdiept en uiteindelijk ook best vaak gebruikt in mijn nieuwe concept. Ik vind het een zeer krachtige css selector omdat je in combinatie met :checked zowat elk element uit je body kan aanpassen. Hier een voorbeeld hoe ik dit in mijn code heb verwerkt:

body:has(header > div:nth-of-type(1) input:checked)
  main
  section
  div:nth-of-type(3) {
  display: block;
}

Ik had ook nog weinig ervaring met ::before en ::after in css. Dit zijn belangrijke pseudo-elements voor het stylen van input’s en labels. In mijn herkansing eindproduct heb ik hier erg veel gebruikt van gemaakt. Hier een voorbeeld:


header > div:nth-of-type(1) label span:nth-of-type(2)::before {
  right: -0.375em;
  background-color: transparent;
  transform: skewY(65deg);
}

Als laatst heb ik ook gewerkt met data attributes in HTML/CSS. Hiervoor heb ik het korte range scripje gebruikt als enige JavaScript. De data value is gemakkelijk te gebruiken in CSS, hier een voorbeeld:

head[data--x="9"] + body main section div:nth-of-type(3) {
  opacity: 0.9;
}

Bronnenlijst

lichtbediening's People

Contributors

maxvl3 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.