Git Product home page Git Product logo

cssttr's Introduction

Eindopdracht CSS to the rescue

Proces week 1

Ik ben begonnen met het bestuderen van de opdracht waaruit bleek dat ik verschillende nieuwe css technieken wilde gaan gebruiken. Dit zijn: Flexbox, CSS grid en CSS custom properties. Naast deze technieken moest de site ook accessible zijn en geschikt om met het toetsenbord te bestuurd te worden. Naar al deze technieken ben ik onderzoek gaan doen. Tijdens het onderzoek ben ik gaan nadenken over een concept. Al snel kwam ik tot de conclusie dat ik een soort van webshop wilde gaan maken. Toen dat duidelijk was ben ik aan de slag gegaan met de layout van de pagina en een heb een simpel concept bedacht. Dit heb ik met CSS toegepast. Hierna ben ik bezig geweest met de interacties. Het openklappen van een dropdown list en het maken van een responsive hamburger menu.

Proces week 2

De tweede week ben ik verder gegaan met de interactie en heb verschillende componenten toegevoegd. De login en de winkelwagen componenten. Daarnaast heb ik de issues verwerkt. Daarna heb me de rest van de week volledig gefocust op de functionaliteit en layout van de pagina. De overlay op de pagina. Volgende week kan ik dan de dingen mooi gaan maken. Ten slotte de content gedeeltelijk aangepast.

Proces week 3

De laatste week heb ik de grootste stappen gemaakt. Alle componenten samengevoegd en een geheel van de site gemaakt. Interacties toegevoegd met daarbij focus en hover styles op de elementen waarmee je door de site heen kan navigeren. Daarbij heb ik nieuw geleerde CSS technieken kunnen toepassen waaronder CSS grid, custom properties. Daarnaast heb ik beter inzicht gekregen in flexbox , pseudo classes, css animations, checkbox hacks, css selectoren. Dit zijn de skills die ik voor mijzelf tijdens dit project naar een hoger level heb gebracht.

Herkansing

Voor de herkansing moest ik nog dingen toevoegen uit het boek CSS Secrets by Michailia Verou. Dit hield in.

  • Fancy Ampersands toegevoegd
@font-face {
	font-family: Ampersand;
	src: local('Baskerville-Italic'), local('GoudyOldStyleT-Italic'), local('Garamond-Italic'), local('Palatino-Italic');
	unicode-range: U+26;
}

h5 {
	font-family: Ampersand, 'Open sans', sans-serif;
}
  • Extending clickable area op de shop items toegevoegd.
main article a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10;
}
  • de-emphasize with blurring Check met javascript of detail pagina geopend is en geeft class mee aan de main om alles te blurren.
if (this.getAttribute("href") == "#detail") {
	main.classList.add('de-emphasized');
} else {
	main.classList.remove('de-emphasized');
}

Class waarmee content geblurred wordt.

main.de-emphasized {
	-webkit-filter: blur(3px);
	filter: blur(3px);
}
  • Loading spinner
.loader {
    border: 6px solid #f3f3f3;
    border-top: 6px solid #000;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 0.8s linear infinite;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
	z-index: 1;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
}
  • Custom checkbox
input[type="checkbox"]#field-stay-logged-in+label::before {
    content: '\a0';
    vertical-align: .2em;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    border-radius: .2em;
    background: silver;
    text-indent: .15em;
}

```css
#chat>ol {
	padding: 1.2em 0.9em;
	display: flex;
	flex-direction: column;
	height: 15em;
	background: hsl(0, 0%, 98%);
	background-image: linear-gradient(90deg, #e6e6e6 11px, transparent 0), linear-gradient(90deg, #fbfbfb 23px, transparent 0), linear-gradient(90deg, #eaeaea 23px, transparent 0);
	background-size: 83px 100%, 61px 100%, 41px 100%;
}

License

Rating example makes use of Emoji from: http://emojione.com

cssttr's People

Contributors

rikschennink avatar yoeripasmans avatar vasilisvg avatar

Watchers

James Cloos avatar

cssttr's Issues

Overall

Het ziet er heel aardig uit. Soms gebruikt je heel specifieke selectors die volgens mij wel iets minder specifiek zouden kunnen. Waar het nog echt aan schort is interactie: de site is niet (goed) te bedienen met toetsenbord (er zijn geen :focus styles bijvoorbeeld), sommige interactie is wat vreemd (checkboxes voor login en cart). Dit is nog niet pleasurable, toch?

Fantasie-role

div[role="group-parrent"] {

Het role-attribuut is niet een soort class waar je willekeurige woorden in kunt vullen. Er zijn een aantal roles, die die hebben een bestaande semantische waarde.

Mixen van em en px

Je bent wat inconsequent met het gebruik van units. Dan weer px, dan weer em. Probeer alles eens gewoon met em te doen, dus helemaal geen px. Mixen van deze twee units levert overigens echte issues op bij het zoomen.

Link naar resultaat ontbreekt

Er ontbreekt een link naar het resultaat. Ik kan dus niet beoordelen hoe het er uit ziet, ik kijk nu dus alleen naar de CSS code. Uiteindelijk gaat het natuurlijk om het resultaat.

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.