Skip to content

Glasgow|May-2025|Indira Muniappan|Wireframe review 0900 #709

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 106 additions & 24 deletions Form-Controls/index.html
Original file line number Diff line number Diff line change
@@ -1,27 +1,109 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>My form exercise</title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<header>
<h1>Product Pick</h1>
</header>
<main>
<form>
<!-- write your html here-->
<!--
try writing out the requirements first as comments
this will also help you fill in your PR message later-->
</form>
</main>
<footer>
<!-- change to your name-->
<h2>By HOMEWORK SOLUTION</h2>
</footer>
</body>
<head>
<meta charset="utf-8">
<title>Product Pick Form Controls</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Confirm your identity and choose your t-shirt colour and size. All fields required.">
</head>
<body>
<header>
<h1>Product Pick</h1>
</header>

<main>
<form name="tshirt-form" aria-describedby="form-instructions">
<p id="form-instructions">All fields are required. Please fill out your details and choose your t-shirt colour and size.</p>

<fieldset>
<legend>Confirm Your Details</legend>

<p>
<label for="name">Name:</label><br>
<input
id="name"
name="name"
type="text"
required
minlength="2"
pattern=".*\S.*"
title="Name must be at least 2 characters and not just spaces"
aria-required="true"
placeholder="Enter your full name"
>
</p>

<p>
<label for="email">Email:</label><br>
<input
id="email"
name="email"
type="email"
required
aria-required="true"
placeholder="[email protected]"
title="Please enter a valid email address"
>
</p>
</fieldset>

<fieldset>
<legend>Choose a colour:</legend>

<p>
<label>
<input
type="radio"
name="colour"
value="red"
required
aria-required="true"
> Red
</label>
</p>

<p>
<label>
<input
type="radio"
name="colour"
value="blue"
> Blue
</label>
</p>

<p>
<label>
<input
type="radio"
name="colour"
value="green"
> Green
</label>
</p>
</fieldset>

<p>
<label for="size">Size:</label><br>
<select id="size" name="size" required aria-required="true" title="Select your t-shirt size">
<option value="" disabled selected>Select size…</option>
<option value="XS">XS</option>
<option value="S">S</option>
<option value="M">M</option>
<option value="L">L</option>
<option value="XL">XL</option>
<option value="XXL">XXL</option>
</select>
</p>

<p>
<button type="submit" aria-label="Submit your t-shirt selection">Submit</button>
</p>
</form>
</main>

<footer>
<p>Indira - HOMEWORK SOLUTION</p>
</footer>
</body>
</html>
1 change: 1 addition & 0 deletions Wireframe/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ There are some provided HTML and CSS files you can use to get started. You can u
- [ ] The webpage is properly committed and pushed to a branch on GitHub.

## Resources
## Checking

- [Wireframe](https://www.productplan.com/glossary/wireframe/)
- [Semantic HTML](https://www.w3schools.com/html/html5_semantic_elements.asp)
Expand Down
90 changes: 60 additions & 30 deletions Wireframe/index.html
Original file line number Diff line number Diff line change
@@ -1,33 +1,63 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Wireframe</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<header>
<h1>Wireframe</h1>
<p>
This is the default, provided code and no changes have been made yet.
</p>
</header>
<main>
<article>
<img src="placeholder.svg" alt="" />
<h2>Title</h2>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam,
voluptates. Quisquam, voluptates.
</p>
<a href="">Read more</a>
</article>
</main>
<footer>
<p>
This is the default, provided code and no changes have been made yet.
</p>
</footer>
</body>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wireframe</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Learn about README files, wireframes, and Git branches</h1>
<p>An introduction to important web development concepts</p>
</header>

<main>
<article>
<div class="placeholder" role="img" aria-label="Stylized placeholder image of mountains and sun">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 90">
<rect width="160" height="90" fill="#eee"></rect>
<circle cx="120" cy="25" r="15" fill="hsl(0deg 83% 60% / 95%)"></circle>
<path d="M25 90 L80 30 L160 90 Z" fill="darkslategrey"></path>
<path d="M0 90 L50 45 L100 90 Z" fill="slategrey"></path>
</svg>
</div>
<h2>What is the purpose of a README file?</h2>
<p>A README file introduces and explains a project. It provides important details such as how to install, run, and contribute to the project. It helps other developers understand the project’s structure and purpose.</p>
<a href="#">Read more</a>
</article>

<article>
<div class="placeholder" role="img" aria-label="Stylized placeholder image of mountains and sun">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 90">
<rect width="160" height="90" fill="#eee"></rect>
<circle cx="120" cy="25" r="15" fill="hsl(0deg 83% 60% / 95%)"></circle>
<path d="M25 90 L80 30 L160 90 Z" fill="darkslategrey"></path>
<path d="M0 90 L50 45 L100 90 Z" fill="slategrey"></path>
</svg>
</div>
<h2>What is the purpose of a wireframe?</h2>
<p>A wireframe is a visual guide that represents the layout of a webpage. It helps developers and designers plan the structure and user experience before adding real content or styling.</p>
<a href="#">Read more</a>
</article>

<article>
<div class="placeholder" role="img" aria-label="Stylized placeholder image of mountains and sun">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 90">
<rect width="160" height="90" fill="#eee"></rect>
<circle cx="120" cy="25" r="15" fill="hsl(0deg 83% 60% / 95%)"></circle>
<path d="M25 90 L80 30 L160 90 Z" fill="darkslategrey"></path>
<path d="M0 90 L50 45 L100 90 Z" fill="slategrey"></path>
</svg>
</div>
<h2>What is a branch in Git?</h2>
<p>A branch in Git is a separate line of development. It allows you to work on features without affecting the main project. Once your work is ready, you can merge the branch into the main codebase.</p>
<a href="#">Read more</a>
</article>
</main>

<footer>
<p>© 2025 Learning Page</p>
</footer>
</body>
</html>
133 changes: 70 additions & 63 deletions Wireframe/style.css
Original file line number Diff line number Diff line change
@@ -1,89 +1,96 @@
/* 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);
--ink: color-mix(in oklab, white 5%, black);
--font: 100%/1.5 system-ui;
--space: clamp(6px, 6px + 2vw, 15px);
--line: 1px solid;
--line: 1px solid #ccc;
--container: 1280px;
}
/* ====== Base Elements ======
General rules for basic HTML elements in any context */

/* Base styles */
body {
background: var(--paper);
color: var(--ink);
font: var(--font);
margin: 0;
}
a {
padding: var(--space);
border: var(--line);
max-width: fit-content;
}
img,
svg {
width: 100%;
object-fit: cover;
}
/* ====== 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;

/* Header + Footer */
header,
footer {
text-align: center;
padding: 20px;
background: white;
border-bottom: var(--line);
}

footer {
position: fixed;
width: 100%;
bottom: 0;
text-align: center;
border-top: var(--line);
}
/* ====== 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/
*/

/* Layout */
main {
max-width: var(--container);
margin: 0 auto calc(var(--space) * 4) auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space);
> *:first-child {
grid-column: span 2;
}
padding: var(--space);
}

/* First article spans two columns */
main > article:first-child {
grid-column: span 2;
}
/* ====== 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.
*/

/* Articles */
article {
background: white;
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;
}
padding-bottom: var(--space);
}

article > * {
grid-column: 2;
}

/* SVG Placeholder image */
.placeholder svg {
width: 100%;
height: auto;
display: block;
grid-column: span 3;
object-fit: cover;
}

/* Headings */
article h2 {
margin-top: var(--space);
font-size: 1.25rem;
}

/* Links */
a {
margin-top: 10px;
padding: var(--space);
border: var(--line);
text-decoration: none;
color: #0077cc;
font-weight: bold;
max-width: fit-content;
display: inline-block;
border-radius: 4px;
transition: 0.3s ease;
}

a:hover,
a:focus {
background: #0077cc;
color: white;
outline: none;
}