From 03171c509b7e61c0f41061768697784384d5f403 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 27 Mar 2023 10:34:27 +0100 Subject: [PATCH 01/21] add an example project --- index.html | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index 7b0d8b5a..b76f5bbc 100644 --- a/index.html +++ b/index.html @@ -59,12 +59,37 @@

My Name

Projects Showcase

-

- Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi - excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi - commodi minima ullam necessitatibus, cumque blanditiis, nihil magni - amet consectetur? -

+

Contact me

From 2b589e7639154274eb4a0eb28807b3a57b316ca1 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 27 Mar 2023 10:35:15 +0100 Subject: [PATCH 02/21] annotated styles for example page - added some interesting links to explain some concepts used here - an example card layout using grid - my standard rules for images --- style.css | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 98 insertions(+), 4 deletions(-) diff --git a/style.css b/style.css index c911f90c..ec5097cb 100644 --- a/style.css +++ b/style.css @@ -1,4 +1,7 @@ -/* Design tokens */ +/* Design tokens. +With tokens, stick to communicating the PURPOSE not the VALUE. +Code should explain, not mystify, your design. +*/ :root { --paper: hsla(251, 28%, 88%, 0.99); --ink: hsla(244, 16%, 17%, 0.95); @@ -6,8 +9,22 @@ --font: "Raleway", system-ui, sans-serif; --gap: 20px; --container: clamp(280px, calc(100vw - calc(var(--gap) * 2)), 1180px); + /* https://web.dev/accessible-tap-targets/ */ + --tap-target: 48px; + --box: clamp(280px, 50vw + 2px, 530px); } -/* General Styles */ + +/* Hey look, dark mode is +so easy with design tokens done this way +*/ +@media (prefers-color-scheme: dark) { + :root { + --ink: hsla(252, 38%, 92%, 0.99); + --paper: hsla(244, 16%, 17%, 1); + } +} + +/* General styles */ html, body { scroll-behavior: smooth; @@ -34,7 +51,12 @@ a:focus { color: var(--brand); border-color: currentColor; } -/* Site header and navigation */ +p a:any-link { + border-color: var(--brand); +} +/* Site header and navigation +https://elad.medium.com/css-position-sticky-how-it-really-works-54cd01dc2d46 +*/ body > header { background: var(--paper); display: flex; @@ -50,8 +72,80 @@ nav ul { gap: var(--gap); } -/* Text readability */ +/* Text readability +https://baymard.com/blog/line-length-readability +*/ section p { line-height: 1.5; max-width: 55ch; } +/* targeted resets +We're resetting elements with a class - ANY class +- on the grounds that if you added a class, +you added your own styles +*/ +h3[class] { + margin: 0 auto 0 0; +} +ul[class], +li[class] { + margin: 0; + padding: 0; +} + +/* Basic image rules +Don't size images in css, size their containers +Just make images take up the entire space you give them +in every context +*/ +svg { + height: 100%; + width: auto; + min-width: var(--tap-target); +} + +img { + width: 100%; + height: 100%; + max-width: 100%; + object-fit: cover; +} + +picture { + height: auto; + overflow: hidden; +} +/* +I would start breaking this up into component files now btw! +*/ +.showcase { + display: flex; + flex-flow: row wrap; + gap: var(--gap); +} +/* +Here's an example of a grid layout. Notice there's no margin, padding, or sizes given on elements +All the spacing and sizing is set on the template, and the elements +are just slotted in. +The little dots are how we precisely place and size white-space +https://www.interaction-design.org/literature/article/the-power-of-white-space +*/ + +.project { + display: grid; + grid-template: + "picture picture picture" var(--box) + "....... ....... ......." calc(var(--gap) / 2) + "....... heading ......." min-content + "....... blurb ......." auto / + var(--gap) var(--box) var(--gap); +} +.project__picture { + grid-area: picture; +} +.project__heading { + grid-area: heading; +} +.project__blurb { + grid-area: blurb; +} From 23da459d509de0aea16b319ee2e274cea739365d Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 27 Mar 2023 10:35:49 +0100 Subject: [PATCH 03/21] A new challenge for module 1 New readme --- README.md | 46 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 98549832..bbc02378 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,46 @@ # Portfolio -Your starting portfolio, to iterate on. +Module 1 iteration of your portfolio. We've got a lot of new concepts here so you might want to work through this in your study group, or bring to class for help. ## Learning Objectives -- Customise the starting portfolio with your professional details -- Iterate on your portfolio every module -- Review your colleague's portfolio +- [ ] Branch from a branch in Git +- [ ] PR from a branch to a branch in GitHub +- [ ] Create a personal case study for a project ## Requirements -At Code Your Future, we expect everyone to graduate with a unique professional portfolio. Begin building this portfolio as soon as you begin our Software Development Course. At first, your portfolio will be a simple HTML/CSS page deployed to Github Pages or Netlify. This is your MVP. +We are using a different type of pull request workflow from your main coursework. We're doing this because we need lots of practice with Git to be ready to contribute to shared repos like professional developers. In previous years, we only opened PRs to main all the way through the course, and then in Final Projects it was really hard to learn branching and merging. So let's practice a different workflow now. -Every module, you will _iterate_ on your portfolio, adding a new project and improving your design and presentation. By the time you apply to Final Projects, your portfolio will help you show you are ready to be accepted on to a Final Projects team. +## Git Ready: Putting our code in the right place + +The instructions here are given for the command line, but you could just as easily do this in GitHub Desktop or GitKraken. + +1. Switch into the branch called `git checkout Module-HTML-CSS` to access this Readme +1. From `Module-HTML-CSS`, create a new branch `git checkout -b your-name-portfolio` +1. Make a new directory `mkdir your-name-portfolio` +1. Move your starter files into this directory `mv index.html style.css your-name-portfolio` +1. Change into the new directory `cd your-name-portfolio` +1. Check you are in the right branch `git branch --show-current` + +## Git Set: Making changes + +1. Open the project in your code editor +1. Make your changes +1. Check your changes with `git status` +1. Add your files to the staging area `git add index.html style.css` . _Remember, don't `git add .` or you could add files you don't mean to._ +1. Commit your changes often `git commit -m "YOUR COMMIT MESSAGE"` + +Your case study should be a short description of the project, including: the problem it solves, the technologies used, the approach taken, a link to the deployed project, and a link to the code on GitHub. + +Explain the problem and your solution in your own words, and don't just copy and paste the project brief. The point of a portfolio is to make _you stand out_, so write in your own voice. It's fine to choose something that you didn't work on all by yourself, but make sure you explain what part you did. + +## Git Go: Making a pull request + +1. Stage your files: `git add index.html style.css` . _Remember, don't `git add .` or you could add files you don't mean to._ +1. Commit your changes `git commit -m "YOUR COMMIT MESSAGE"` +1. Push your changes to GitHub `git push origin your-name-portfolio` +1. Open a pull request to merge your branch into `Module-HTML-CSS` . If you have the [GitHub CLI](https://cli.github.com/manual/gh_pr_create) installed, you can do this with `gh pr create --base Module-HTML-CSS --head your-name-portfolio`. Otherwise do it in the GitHub UI or your Git client. ## Acceptance Criteria @@ -26,6 +54,6 @@ Every module, you will _iterate_ on your portfolio, adding a new project and imp ## Resources -- [Josh Comeau on building your early career profile](https://www.youtube.com/watch?v=OXiaEXfkAec) -- [How to Build an Effective Dev Portfolio](https://www.joshwcomeau.com/effective-portfolio/) -- [CYF Graduate Module](https://module-graduates.codeyourfuture.io/) +- [Powerful Git Completion with ohmyzsh](https://github.com/ohmyzsh/ohmyzsh) +- [GitKraken](https://www.gitkraken.com/) +- [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens/) From 413820e72f14c34efe0fbfbbc3e41610329c3f4a Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 27 Mar 2023 10:42:54 +0100 Subject: [PATCH 04/21] move files into dir as per readme --- index.html => example-name-portfolio/index.html | 0 style.css => example-name-portfolio/style.css | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename index.html => example-name-portfolio/index.html (100%) rename style.css => example-name-portfolio/style.css (100%) diff --git a/index.html b/example-name-portfolio/index.html similarity index 100% rename from index.html rename to example-name-portfolio/index.html diff --git a/style.css b/example-name-portfolio/style.css similarity index 100% rename from style.css rename to example-name-portfolio/style.css From 15d60bfc64453b96010aa84d93129763ab708272 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 27 Mar 2023 10:50:33 +0100 Subject: [PATCH 05/21] clarify they may use THIS code Just don't want everyone copypasting the Agency theme like usual --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index bbc02378..f6e904ca 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ Module 1 iteration of your portfolio. We've got a lot of new concepts here so you might want to work through this in your study group, or bring to class for help. +_Keep your changes simple!_ + +We are using a different type of pull request workflow from your main coursework. We're doing this because we need lots of practice with Git to be ready to contribute to shared repos like professional developers. In previous cohorts, we only opened PRs to main all the way through the course, and then in Final Projects it was really hard to learn real branching and merging. So let's practice a different workflow now. + ## Learning Objectives - [ ] Branch from a branch in Git @@ -10,7 +14,9 @@ Module 1 iteration of your portfolio. We've got a lot of new concepts here so yo ## Requirements -We are using a different type of pull request workflow from your main coursework. We're doing this because we need lots of practice with Git to be ready to contribute to shared repos like professional developers. In previous years, we only opened PRs to main all the way through the course, and then in Final Projects it was really hard to learn branching and merging. So let's practice a different workflow now. +Your case study should be a short description of the project, including: the problem it solves, the technologies used, the approach taken, a link to the deployed project, and a link to the code on GitHub. + +Explain the problem and your solution in your own words, and don't just copy and paste the project brief. The point of a portfolio is to make _you stand out_, so write in your own voice. It's fine to choose something that you didn't work on all by yourself, but make sure you explain what part you did. ## Git Ready: Putting our code in the right place @@ -31,10 +37,6 @@ The instructions here are given for the command line, but you could just as easi 1. Add your files to the staging area `git add index.html style.css` . _Remember, don't `git add .` or you could add files you don't mean to._ 1. Commit your changes often `git commit -m "YOUR COMMIT MESSAGE"` -Your case study should be a short description of the project, including: the problem it solves, the technologies used, the approach taken, a link to the deployed project, and a link to the code on GitHub. - -Explain the problem and your solution in your own words, and don't just copy and paste the project brief. The point of a portfolio is to make _you stand out_, so write in your own voice. It's fine to choose something that you didn't work on all by yourself, but make sure you explain what part you did. - ## Git Go: Making a pull request 1. Stage your files: `git add index.html style.css` . _Remember, don't `git add .` or you could add files you don't mean to._ @@ -45,7 +47,7 @@ Explain the problem and your solution in your own words, and don't just copy and ## Acceptance Criteria - [ ] My portfolio introduces me and my work -- [ ] The design and code is my own, not a template or tutorial +- [ ] The design and code is my own, not a template or tutorial (you can use this code as a starting point) - [ ] Each project is linked to my code on Github and the deployed project - [ ] I have published my professional contact information on my portfolio - [ ] My Accessibility and SEO scores are 100 on Lighthouse From 5876e29ef56fada35c7d526a322bafe270e106d9 Mon Sep 17 00:00:00 2001 From: Barath Vignarajah Date: Sat, 19 Oct 2024 07:23:57 +0100 Subject: [PATCH 06/21] Adding starter files --- index.html | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++ style.css | 57 ++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+) create mode 100644 index.html create mode 100644 style.css diff --git a/index.html b/index.html new file mode 100644 index 00000000..7b0d8b5a --- /dev/null +++ b/index.html @@ -0,0 +1,102 @@ + + + + + + My Portfolio + + + + + + + + + + +
+

My Name

+ +
+
+
+

About Me

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi + excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi + commodi minima ullam necessitatibus, cumque blanditiis, nihil magni + amet consectetur? +

+
+
+

Projects Showcase

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi + excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi + commodi minima ullam necessitatibus, cumque blanditiis, nihil magni + amet consectetur? +

+
+
+

Contact me

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi + excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi + commodi minima ullam necessitatibus, cumque blanditiis, nihil magni + amet consectetur? +

+
+
+ + + diff --git a/style.css b/style.css new file mode 100644 index 00000000..c911f90c --- /dev/null +++ b/style.css @@ -0,0 +1,57 @@ +/* Design tokens */ +:root { + --paper: hsla(251, 28%, 88%, 0.99); + --ink: hsla(244, 16%, 17%, 0.95); + --brand: hsla(0, 79%, 63%, 0.9); + --font: "Raleway", system-ui, sans-serif; + --gap: 20px; + --container: clamp(280px, calc(100vw - calc(var(--gap) * 2)), 1180px); +} +/* General Styles */ +html, +body { + scroll-behavior: smooth; + background: var(--paper); + color: var(--ink); + font-family: var(--font); +} +body { + display: grid; + margin: auto; + min-height: 100vh; + gap: var(--gap); + max-width: var(--container); +} +a, +a:any-link { + color: currentColor; + text-decoration: none; + border-bottom: 2px solid transparent; + transition: border-color ease-in-out 0.3s; +} +a:hover, +a:focus { + color: var(--brand); + border-color: currentColor; +} +/* Site header and navigation */ +body > header { + background: var(--paper); + display: flex; + justify-content: space-between; + align-items: center; + position: sticky; + top: 0; + z-index: 1; +} +nav ul { + display: flex; + list-style: none; + gap: var(--gap); +} + +/* Text readability */ +section p { + line-height: 1.5; + max-width: 55ch; +} From 42c47dbdde0d9371b1ab873d6f215ed7b841f6bd Mon Sep 17 00:00:00 2001 From: Rashaad Ebrahim Date: Mon, 28 Oct 2024 16:59:15 +0200 Subject: [PATCH 07/21] Initial commit --- rashaad-ebrahim-portfolio/index.html | 102 +++++++++++++++++++++++++++ rashaad-ebrahim-portfolio/style.css | 57 +++++++++++++++ 2 files changed, 159 insertions(+) create mode 100644 rashaad-ebrahim-portfolio/index.html create mode 100644 rashaad-ebrahim-portfolio/style.css diff --git a/rashaad-ebrahim-portfolio/index.html b/rashaad-ebrahim-portfolio/index.html new file mode 100644 index 00000000..7b0d8b5a --- /dev/null +++ b/rashaad-ebrahim-portfolio/index.html @@ -0,0 +1,102 @@ + + + + + + My Portfolio + + + + + + + + + + +
+

My Name

+ +
+
+
+

About Me

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi + excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi + commodi minima ullam necessitatibus, cumque blanditiis, nihil magni + amet consectetur? +

+
+
+

Projects Showcase

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi + excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi + commodi minima ullam necessitatibus, cumque blanditiis, nihil magni + amet consectetur? +

+
+
+

Contact me

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi + excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi + commodi minima ullam necessitatibus, cumque blanditiis, nihil magni + amet consectetur? +

+
+
+ + + diff --git a/rashaad-ebrahim-portfolio/style.css b/rashaad-ebrahim-portfolio/style.css new file mode 100644 index 00000000..c911f90c --- /dev/null +++ b/rashaad-ebrahim-portfolio/style.css @@ -0,0 +1,57 @@ +/* Design tokens */ +:root { + --paper: hsla(251, 28%, 88%, 0.99); + --ink: hsla(244, 16%, 17%, 0.95); + --brand: hsla(0, 79%, 63%, 0.9); + --font: "Raleway", system-ui, sans-serif; + --gap: 20px; + --container: clamp(280px, calc(100vw - calc(var(--gap) * 2)), 1180px); +} +/* General Styles */ +html, +body { + scroll-behavior: smooth; + background: var(--paper); + color: var(--ink); + font-family: var(--font); +} +body { + display: grid; + margin: auto; + min-height: 100vh; + gap: var(--gap); + max-width: var(--container); +} +a, +a:any-link { + color: currentColor; + text-decoration: none; + border-bottom: 2px solid transparent; + transition: border-color ease-in-out 0.3s; +} +a:hover, +a:focus { + color: var(--brand); + border-color: currentColor; +} +/* Site header and navigation */ +body > header { + background: var(--paper); + display: flex; + justify-content: space-between; + align-items: center; + position: sticky; + top: 0; + z-index: 1; +} +nav ul { + display: flex; + list-style: none; + gap: var(--gap); +} + +/* Text readability */ +section p { + line-height: 1.5; + max-width: 55ch; +} From d207bce0203d45e95cc0ee17dd53de288bd9eabe Mon Sep 17 00:00:00 2001 From: Rashaad Ebrahim Date: Sun, 3 Nov 2024 20:14:08 +0200 Subject: [PATCH 08/21] Updated commit --- index.html | 102 --------------------------- rashaad-ebrahim-portfolio/index.html | 2 +- rashaad-ebrahim-portfolio/style.css | 5 +- style.css | 57 --------------- 4 files changed, 5 insertions(+), 161 deletions(-) delete mode 100644 index.html delete mode 100644 style.css diff --git a/index.html b/index.html deleted file mode 100644 index 7b0d8b5a..00000000 --- a/index.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - My Portfolio - - - - - - - - - - -
-

My Name

- -
-
-
-

About Me

-

- Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi - excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi - commodi minima ullam necessitatibus, cumque blanditiis, nihil magni - amet consectetur? -

-
-
-

Projects Showcase

-

- Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi - excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi - commodi minima ullam necessitatibus, cumque blanditiis, nihil magni - amet consectetur? -

-
-
-

Contact me

-

- Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nulla nisi - excepturi quidem, eum rem doloribus quam aspernatur hic enim eligendi - commodi minima ullam necessitatibus, cumque blanditiis, nihil magni - amet consectetur? -

-
-
- - - diff --git a/rashaad-ebrahim-portfolio/index.html b/rashaad-ebrahim-portfolio/index.html index 7b0d8b5a..a713dc81 100644 --- a/rashaad-ebrahim-portfolio/index.html +++ b/rashaad-ebrahim-portfolio/index.html @@ -38,7 +38,7 @@
-

My Name

+

Rashaad Ebrahim

-
+

Get to know me

I'm a web developer fueled by curiosity and the thrill of bringing @@ -104,15 +104,15 @@

Projects

- - - + +
-
+ @@ -243,29 +255,31 @@

Source

Snippet of My Hometown website

- A webpage detailing some information about my hometown, - Johannesburg + Bose landing page showcasing responsive design and SASS.

-
-

Technologies

-
    -
  • HTML
  • -
  • CSS
  • -
  • JavaScript
  • -
  • Git
  • -
  • GitHub
  • -
-
+
    +
  • HTML
  • +
  • CSS
  • +
  • SASS
  • +
  • Responsive Design
  • +
  • JavaScript
  • +
  • Git
  • +
@@ -383,11 +400,14 @@

© 2024 - Rashaad Ebrahim - All Rights Reserved

fill="currentColor" /> -

Read me

+ diff --git a/rashaad-ebrahim-portfolio/script.js b/rashaad-ebrahim-portfolio/script.js new file mode 100644 index 00000000..dc7d51dc --- /dev/null +++ b/rashaad-ebrahim-portfolio/script.js @@ -0,0 +1,21 @@ +"use strict"; + +// Project card tab component + +const btnTabsContainer = document.querySelector(".projects--btn-container"); +const cardsContent = document.querySelectorAll(".project-card"); +const btnTabs = document.querySelectorAll(".projects-btn"); + +btnTabsContainer.addEventListener("click", function (e) { + const clicked = e.target.closest(".projects-btn"); + + if (!clicked) return; + btnTabs.forEach((btn) => btn.classList.remove("projects-btn--active")); + cardsContent.forEach((card) => card.classList.remove("project-card--active")); + + clicked.classList.add("projects-btn--active"); + + document + .querySelector(`.project-card-${clicked.dataset.btn}`) + .classList.add("project-card--active"); +}); diff --git a/rashaad-ebrahim-portfolio/style.css b/rashaad-ebrahim-portfolio/style.css index c665d1aa..c9e538f5 100644 --- a/rashaad-ebrahim-portfolio/style.css +++ b/rashaad-ebrahim-portfolio/style.css @@ -1,9 +1,18 @@ /* Design tokens */ :root { - --paper: hsla(251, 28%, 88%, 0.99); - --ink: hsla(244, 16%, 17%, 0.95); - --brand: hsla(0, 79%, 63%, 0.9); - --brandTint: hsla(0, 79%, 82%, 0.8); + --paper: #cad2d3; /* Primary*/ + --paperShade: #95a5a6; + --paperTint: #95a5a6; + + --ink: #313131; /* Secondary */ + --inkShade: #222; + --inkTint: #909090; + + --brand: #e74c3c; /* Accent */ + + --brandTint: #f5b7b1; + --accent: #bebdc2; + --secondary: #9b8199; --font: "Raleway", system-ui, sans-serif; --gap: 40px; --icon-size: 32px; @@ -12,20 +21,25 @@ /* Reuseable blocks*/ .skills { - align-self: center; - padding: 0 20px; - /* text-align: left; */ - /* margin: 0 auto; */ + padding: 0; + columns: #f31a1a;; } .skills li { - list-style: none; + font-weight: 500; margin: 5px; padding: 10px 15px; font-weight: 500; border-radius: 8px; + color: var(--inkShade); background-color: #9b8199; display: inline-block; + transition: all 0.3s; +} + +.skills li:hover { + /* transform: translateY(-10%); */ + box-shadow: 0 0 10px hsla(244, 16%, 17%, 0.5); } .icon { @@ -57,6 +71,8 @@ body { margin: auto; } + + /* Text readability */ p { line-height: 1.5; @@ -65,14 +81,48 @@ p { .section-header h2 { - font-size: 48px; + font-size: 40px; + margin: 0; + padding: 20px 40px; +} + +.section-header { + /* padding-left: 60px; */ + display: inline-block; + position: relative; +} + +.section-header::before, .section-header::after { + content: ""; + height: 20px; + width: 80px; + position: absolute; +} + +.section-header::before { + left: 0; + bottom: 0; + /* transform: translate(-50%,50%); */ + border-bottom: 6px solid var(--brand); + border-left: 6px solid var(--brand); + /* background-color: #222; */ +} + +.section-header::after { + right: 0; + top: 0; + /* transform: translate(-50%,50%); */ + border-top: 6px solid var(--brand); + border-right: 6px solid var(--brand); + /* background-color: #222; */ } /* Site header and navigation */ .header { padding: 0 60px; - background: hsla(251, 28%, 88%, 0.95); + background: hsla(252, 4%, 75%, 0.9); + background: hsla; display: flex; justify-content: space-between; align-items: center; @@ -172,6 +222,10 @@ p { position: relative; } +.about-get-to-know { + padding-left: 60px; +} + .about-text { padding: 0 var(--gap); } @@ -184,7 +238,6 @@ p { .about-container h3 { font-size: 24px; - /* color: #666670; */ } /* Projects */ @@ -201,7 +254,6 @@ p { .projects-container { padding: 0 var(--gap); - /* margin: 0 auto; */ } .projects--btn-container { @@ -216,72 +268,78 @@ p { border-radius: 100px; transform: translateY(50%); border: none; - background-color: #252432; - color: #fff; + background-color: var(--paperShade); + color: var(--inkShade); + transition: all 0.2s; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.9); +} + +.projects-btn:active { + transform: translateY(60%); + box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.9); } .projects-btn:hover { - background-color: #83828c; + background-color: var(--paperShade); /* background-color: #dbd8e9; */ } .projects-btn--active { - background-color: #6c757e; - /* transform: translateY(170%); */ - /* box-shadow: 0 0 20px rgba(2, 17, 39, 0.651); */ + background-color: var(--brand); + + transform: translateY(35%); + box-shadow: 0 20px 25px 0 rgba(0, 0, 0, 0.9); + transition: all 0.3s; } .project--content-container { - box-shadow: 0 0 10px #000; + /* box-shadow: 0 0 10px #000; */ border-radius: 12px; - /* max-width: 768px; */ + background-image: linear-gradient(to right,#e5ca93, #c9aa73); margin: 0 auto; } .project-card { - /* display: none; */ - /* min-height: 500px; */ + display: none; + opacity: 0; padding: 50px; margin: 0 auto; + transition: all 0.3s; } .project-card--active { - /* display: block; */ + display: block; + opacity: 1; + /* transition: all 0.3s; */ } .project-summary { display: flex; - /* justify-content: space-evenly; */ - /* grid-template-columns: repeat(3, 1fr); */ gap: 20px; - background-color: #bebdc2; + max-height: 180px; + background-color: var(--accent); border-radius: 12px; overflow: hidden; margin-top: 20px; - box-shadow: 0 0 20px 10px rgba(190, 189, 194, 0.5); + /* box-shadow: 0 0 20px 10px rgba(190, 189, 194, 0.5); */ } .project-information { - padding: 20px 40px; - -} - -.projects-technologies { - -} + padding: 20px; + display: flex; + flex-direction: column; + justify-content: space-between; -.projects-technologies h3 { - align-self: center; } -.project-description { - +.project-information p { + margin: 8px 0; } - .project-img { display: block; width: 320px; + height: 180px; } .project-description { @@ -304,10 +362,10 @@ p { gap: 10px; justify-content: center; align-items: center; - width: 144px; + width: 192px; height: 48px; border-radius: 100px; - background-color: #bebdc2; + background-color: var(--accent); } .project-link--view { @@ -320,7 +378,7 @@ p { max-width: var(--container); margin: 0 auto; padding: 40px; - border-top: 1px solid #bebdc2; + border-top: 1px solid var(--accent); } .contact-links { @@ -338,7 +396,7 @@ p { width: 72px; height: 72px; border-radius: 50%; - background-color: #bebdc2; + background-color: var(--accent); background-color: var(--brandTint); } From 5d3d0c50cea5623915b8389a249b95fbfb5421e8 Mon Sep 17 00:00:00 2001 From: Rashaad Ebrahim Date: Fri, 8 Nov 2024 19:51:01 +0200 Subject: [PATCH 16/21] Added style sheet for general styling. Created general hover effect. --- rashaad-ebrahim-portfolio/general.css | 126 ++++++++++++++++++++++++++ rashaad-ebrahim-portfolio/index.html | 31 +++++-- rashaad-ebrahim-portfolio/style.css | 99 +++++--------------- 3 files changed, 168 insertions(+), 88 deletions(-) create mode 100644 rashaad-ebrahim-portfolio/general.css diff --git a/rashaad-ebrahim-portfolio/general.css b/rashaad-ebrahim-portfolio/general.css new file mode 100644 index 00000000..d4f44c46 --- /dev/null +++ b/rashaad-ebrahim-portfolio/general.css @@ -0,0 +1,126 @@ +/* ##### GENERAL ##### */ +/* Design tokens */ +:root { + --paper: #cad2d3; /* Primary*/ + --paperShade: #95a5a6; + --paperTint: #95a5a6; + + --ink: #313131; /* Secondary */ + --inkShade: #222; + --inkTint: #909090; + + --brand: #e74c3c; /* Accent */ + + --brandTint: #f5b7b1; + --accent: #bebdc2; + --secondary: #9b8199; + --font: "Raleway", system-ui, sans-serif; + --gap: 40px; + --icon-size: 32px; + --container: clamp(280px, calc(100vw - calc(var(--gap) * 2)), 1180px); +} + +/* Global reset */ +*, +*::before, +*::after { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +/* Typography */ + +html { + font-size: 62.5%; +} + +body { + font-size: 1.8rem; + line-height: 1.6; + color: var(--ink); +} + +h1 { + font-size: 3.6rem; + line-height: 1.2; +} + +h2 { + font-size: 3rem; + line-height: 1.3; +} + +h3 { + font-size: 2.4rem; +} + +h4 { + font-size: 2rem; /* 24px */ +} + +p { + font-size: 1.6rem; /* 16px */ + margin-bottom: 1rem; /* Spacing between paragraphs */ +} + +a { + font-size: 1.8rem; + color: inherit; + text-decoration: none; +} + +strong { + font-weight: bold; +} + +/* Reusable hover effect class */ +/* + Ensure element has padding: 1.2rem; +*/ +.hover-effect { + position: relative; + transition: all 0.3s ease; +} + +/* Changes color of element hover is applied to */ +.hover-effect:hover, +.hover-effect:focus, +.hover-effect:active { + color: var(--brand); +} + +/* Setup effect elements */ +.hover-effect::before, +.hover-effect::after { + content: ""; + height: 15px; + width: 15px; + position: absolute; + transition: all 0.3s ease-in-out; + opacity: 0; +} + +/* Set up hover elements end position */ +.hover-effect::before { + right: 0; + top: 0; + border-top: 4px solid var(--brand); + border-right: 4px solid var(--brand); + transform: translate(-100%, 50%); +} + +.hover-effect::after { + left: 0; + bottom: 0; + border-bottom: 4px solid var(--brand); + border-left: 4px solid var(--brand); + transform: translate(100%, -50%); +} + +/* Set element starting position */ +.hover-effect:hover::before, +.hover-effect:hover::after { + opacity: 1; + transform: translate(0, 0); +} diff --git a/rashaad-ebrahim-portfolio/index.html b/rashaad-ebrahim-portfolio/index.html index d4a0bd59..0d574793 100644 --- a/rashaad-ebrahim-portfolio/index.html +++ b/rashaad-ebrahim-portfolio/index.html @@ -38,16 +38,18 @@
-

Rashaad Ebrahim

-
-
+
@@ -104,15 +106,24 @@

Projects

- - + +
-
+
Code
-
- - +
+
+ +
+