diff --git a/Form-Controls/README.md b/Form-Controls/README.md deleted file mode 100644 index c356f8844..000000000 --- a/Form-Controls/README.md +++ /dev/null @@ -1,72 +0,0 @@ -# Form Controls - -## Learning Objectives - - - -- [ ] Interpret requirements and check against a list of criteria -- [ ] Write a valid form -- [ ] Test with Devtools -- [ ] Refactor using Devtools -- [ ] Use version control by committing often and pushing regularly to GitHub -- [ ] Develop the habit of writing clean, well-structured, and error-free code - - -## Task - -We are selling T-shirts. Write a form to collect the following data: - -Our customers already have accounts, so we know their addresses and charging details already. We don't need to collect that data. We want to confirm they are the right person, then get them to choose a colour and size. - -Writing that out as a series of questions to ask yourself: - -1. What is the customer's name? I must collect this data and ensure it contains at least two non-space characters. -2. What is the customer's email? I must make sure the email is valid. Email addresses follow a consistent pattern. -3. What colour should this T-shirt be? I must provide 3 options. How will I ensure they do not choose other colours? -4. What size does the customer want? I must provide the following 6 options: XS, S, M, L, XL, XXL - -All fields are required. -Do not write a form action for this project. - -> [!TIP] -> To check whether the customer's name contains at least two non-space characters you may need to use a **regular expression** (or **regex** for short), which is a tool used to match patterns in text. If you wish to learn more about regular expressions there are plenty of resources on the web including the [official MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions), but for this task you can use this regex that we have pre-written for you: `.*\S.*\S.*`. -> -> Now you have the regular expression, it's up to you to figure out how to use it in the context of an HTML form! - -## Acceptance Criteria - -### Developers must test their work. - -Let's write out our testable criteria. Check each one off as you complete it. - -- [ ] I have only used HTML and CSS. -- [ ] I have not used any JavaScript. - -### HTML - -- [ ] My form is semantic HTML. -- [ ] All inputs have associated labels. -- [ ] My Lighthouse Accessibility score is 100. -- [ ] I require a valid name. -- [ ] I require a valid email. -- [ ] I require one colour from a defined set of 3 colours. -- [ ] I require one size from a defined set of 6 sizes. - -### Developers must adhere to professional standards. - -> Before you say you're done: Is your code readable? Does it run correctly? Does it look professional? - -These practices reflect the level of quality expected in professional work. -They ensure your code is reliable, maintainable, and presents a polished, credible experience to users. - -- [ ] My HTML code has no errors or warnings when validated using https://validator.w3.org/ -- [ ] My code is consistently formatted -- [ ] My page content is free of typos and grammatical mistakes -- [ ] I commit often and push regularly to GitHub - -## Resources -- [MDN: Form controls](https://developer.mozilla.org/en-US/docs/Learn/Forms) -- [MDN: Form validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation) -- [Lighthouse](https://developers.google.com/web/tools/lighthouse) -- [Lighthouse Guide](https://programming.codeyourfuture.io/guides/testing/lighthouse) -- [Format Code and Make Logical Commits in VS Code](../practical_guide.md) diff --git a/Form-Controls/index.html b/Form-Controls/index.html deleted file mode 100644 index 74b591ffc..000000000 --- a/Form-Controls/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - My form exercise - - - - -
-

Product Pick

-
-
-
- - -
-
- - - diff --git a/Wireframe/images/git-branch-concept.jpg b/Wireframe/images/git-branch-concept.jpg new file mode 100644 index 000000000..79816f43e Binary files /dev/null and b/Wireframe/images/git-branch-concept.jpg differ diff --git a/Wireframe/images/readme-concept.jpg b/Wireframe/images/readme-concept.jpg new file mode 100644 index 000000000..94be62faf Binary files /dev/null and b/Wireframe/images/readme-concept.jpg differ diff --git a/Wireframe/images/wireframe-concept.jpg b/Wireframe/images/wireframe-concept.jpg new file mode 100644 index 000000000..e2eeba293 Binary files /dev/null and b/Wireframe/images/wireframe-concept.jpg differ diff --git a/Wireframe/index.html b/Wireframe/index.html index 0e014e535..1efac8a4e 100644 --- a/Wireframe/index.html +++ b/Wireframe/index.html @@ -1,33 +1,70 @@ - - - - Wireframe - - - -
-

Wireframe

-

- This is the default, provided code and no changes have been made yet. -

-
-
-
- -

Title

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, - voluptates. Quisquam, voluptates. -

- Read more -
-
- - + + + +Wireframe + + + + +
+

Wireframe

+
+ +
+
+

Core Web Development Articles

+ +
+ +

What is the purpose of a README file?

+

+A README file is the front page of a repository. It introduces the +project, explains how to install or run the code, and guides other +developers on how to contribute. +

+ +Read more about READMEs + +
+ +
+ +

What is the purpose of a wireframe?

+

+A wireframe acts as a blueprint for a user interface. It defines the +structural layout, content hierarchy, and functionality of a page +before any visual design or code is added. +

+ +Read more about Wireframes + +
+ +
+ +

What is a branch in Git?

+

+A branch is an independent line of development in Git. It allows you +to work on new features or fixes safely without affecting the stable +'main' codebase until it is fully tested. +

+ +Read more about Git Branches + +
+ +
+
+ + + + + diff --git a/Wireframe/style.css b/Wireframe/style.css index be835b6c7..d2f3aabf4 100644 --- a/Wireframe/style.css +++ b/Wireframe/style.css @@ -1,89 +1,51 @@ -/* Here are some starter styles -You can edit these or replace them entirely -It's showing you a common way to organise CSS -And includes solutions to common problems -As well as useful links to learn more */ - -/* ====== Design Palette ====== - This is our "design palette". - It sets out the colours, fonts, styles etc to be used in this design - At work, a designer will give these to you based on the corporate brand, but while you are learning - You can design it yourself if you like - Inspect the starter design with Devtools - Click on the colour swatches to see what is happening - I've put some useful CSS you won't have learned yet - For you to explore and play with if you are interested - https://web.dev/articles/min-max-clamp - https://scrimba.com/learn-css-variables-c026 -====== Design Palette ====== */ -:root { - --paper: oklch(7 0 0); - --ink: color-mix(in oklab, var(--color) 5%, black); - --font: 100%/1.5 system-ui; - --space: clamp(6px, 6px + 2vw, 15px); - --line: 1px solid; - --container: 1280px; +/* Hide content visually but keep it available to screen readers */ +.visually-hidden { + position: absolute; + left: -9999px; } -/* ====== Base Elements ====== - General rules for basic HTML elements in any context */ + +/* General page styling */ body { - background: var(--paper); - color: var(--ink); - font: var(--font); -} -a { - padding: var(--space); - border: var(--line); - max-width: fit-content; -} -img, -svg { - width: 100%; - object-fit: cover; + font-family: Arial, sans-serif; + margin: 0; + padding: 20px; } -/* ====== Site Layout ====== -Setting the overall rules for page regions -https://www.w3.org/WAI/tutorials/page-structure/regions/ -*/ -main { - max-width: var(--container); - margin: 0 auto calc(var(--space) * 4) auto; -} -footer { - position: fixed; - bottom: 0; + +/* Center the page title */ +header { text-align: center; + margin-bottom: 20px; } -/* ====== Articles Grid Layout ==== -Setting the rules for how articles are placed in the main element. -Inspect this in Devtools and click the "grid" button in the Elements view -Play with the options that come up. -https://developer.chrome.com/docs/devtools/css/grid -https://gridbyexample.com/learn/ -*/ -main { + +/* Layout for the articles */ +.articles-container { display: grid; grid-template-columns: 1fr 1fr; - gap: var(--space); - > *:first-child { - grid-column: span 2; - } + gap: 20px; +} + +/* Article 1 spans both columns */ +.articles-container article:first-of-type { + grid-column: 1 / 3; } -/* ====== Article Layout ====== -Setting the rules for how elements are placed in the article. -Now laying out just the INSIDE of the repeated card/article design. -Keeping things orderly and separate is the key to good, simple CSS. -*/ + +/* Article styling */ article { - border: var(--line); - padding-bottom: var(--space); - text-align: left; - display: grid; - grid-template-columns: var(--space) 1fr var(--space); - > * { - grid-column: 2/3; - } - > img { - grid-column: span 3; - } + border: 1px solid #ccc; + padding: 15px; +} + +/* Make images responsive */ +article img { + width: 100%; + height: auto; + display: block; + margin-bottom: 10px; +} + +/* Center footer */ +footer { + text-align: center; + margin-top: 20px; + padding: 10px; }