1- /* Here are some starter styles
2- You can edit these or replace them entirely
3- It's showing you a common way to organise CSS
4- And includes solutions to common problems
5- As well as useful links to learn more */
6-
7- /* ====== Design Palette ======
8- This is our "design palette".
9- It sets out the colours, fonts, styles etc to be used in this design
10- At work, a designer will give these to you based on the corporate brand, but while you are learning
11- You can design it yourself if you like
12- Inspect the starter design with Devtools
13- Click on the colour swatches to see what is happening
14- I've put some useful CSS you won't have learned yet
15- For you to explore and play with if you are interested
16- https://web.dev/articles/min-max-clamp
17- https://scrimba.com/learn-css-variables-c026
18- ====== Design Palette ====== */
19- : root {
20- --paper : oklch (7 0 0 );
21- --ink : color-mix (in oklab, var (--color ) 5% , black);
22- --font : 100% / 1.5 system-ui;
23- --space : clamp (6px , 6px + 2vw , 15px );
24- --line : 1px solid;
25- --container : 1280px ;
26- }
27- /* ====== Base Elements ======
28- General rules for basic HTML elements in any context */
1+ * {
2+ box-sizing : border-box;
3+ }
4+
295body {
30- background : var (--paper );
31- color : var (--ink );
32- font : var (--font );
6+ margin : 0 ;
7+ font-family : -apple-system, BlinkMacSystemFont, "Segoe UI" , Roboto, Arial, sans-serif;
8+ background : # fff ;
9+ color : # 000 ;
10+ min-height : 100vh ;
11+ display : flex;
12+ flex-direction : column;
13+ padding-bottom : 80px ;
14+ }
15+
16+ /* HEADER */
17+ .page-header {
18+ text-align : center;
19+ padding : 40px 20px 20px ;
20+ }
21+
22+ .page-header h1 {
23+ font-size : 2.5rem ;
24+ margin : 0 0 10px ;
25+ text-transform : uppercase;
26+ }
27+
28+ .description {
29+ font-style : italic;
30+ color : # 4b5563 ;
31+ }
32+
33+ /* MAIN */
34+ .content-container {
35+ width : 100% ;
36+ max-width : 1200px ;
37+ margin : 0 auto;
38+ padding : 0 20px ;
39+ }
40+
41+ /* ARTICLES */
42+ article {
43+ border : 2px solid # 000 ;
44+ background : # fff ;
45+ margin-bottom : 30px ;
3346}
34- a {
35- padding : var (--space );
36- border : var (--line );
37- max-width : fit-content;
47+
48+ .image-wrapper {
49+ width : 100% ;
50+ aspect-ratio : 16 / 9 ;
51+ overflow : hidden;
52+ border-bottom : 2px solid # 000 ;
53+ background : # f3f4f6 ;
3854}
39- img ,
40- svg {
55+
56+ . image-wrapper img {
4157 width : 100% ;
58+ height : 100% ;
4259 object-fit : cover;
4360}
44- /* ====== Site Layout ======
45- Setting the overall rules for page regions
46- https://www.w3.org/WAI/tutorials/page-structure/regions/
47- */
48- main {
49- max-width : var (--container );
50- margin : 0 auto calc (var (--space ) * 4 ) auto;
61+
62+ .article-details {
63+ padding : 20px ;
5164}
52- footer {
53- position : fixed;
54- bottom : 0 ;
55- text-align : center;
65+
66+ .article-details h2 {
67+ margin : 0 0 10px ;
68+ }
69+
70+ .summary {
71+ margin-bottom : 15px ;
72+ line-height : 1.5 ;
73+ color : # 1f2937 ;
5674}
57- /* ====== Articles Grid Layout ====
58- Setting the rules for how articles are placed in the main element.
59- Inspect this in Devtools and click the "grid" button in the Elements view
60- Play with the options that come up.
61- https://developer.chrome.com/docs/devtools/css/grid
62- https://gridbyexample.com/learn/
63- */
64- main {
75+
76+ /* BUTTON */
77+ .read-more-btn {
78+ display : inline-block;
79+ border : 2px solid # 000 ;
80+ padding : 8px 16px ;
81+ text-decoration : none;
82+ text-transform : uppercase;
83+ font-size : 0.85rem ;
84+ font-weight : bold;
85+ color : # 000 ;
86+ transition : 0.2s ;
87+ }
88+
89+ .read-more-btn : hover {
90+ background : # 000 ;
91+ color : # fff ;
92+ }
93+
94+ /* GRID */
95+ .articles-grid {
6596 display : grid;
6697 grid-template-columns : 1fr 1fr ;
67- gap : var (--space );
68- > * : first-child {
69- grid-column : span 2 ;
70- }
98+ gap : 30px ;
7199}
72- /* ====== Article Layout ======
73- Setting the rules for how elements are placed in the article.
74- Now laying out just the INSIDE of the repeated card/article design.
75- Keeping things orderly and separate is the key to good, simple CSS.
76- */
77- article {
78- border : var (--line );
79- padding-bottom : var (--space );
80- text-align : left;
81- display : grid;
82- grid-template-columns : var (--space ) 1fr var (--space );
83- > * {
84- grid-column : 2 / 3 ;
85- }
86- > img {
87- grid-column : span 3 ;
100+
101+ @media (max-width : 768px ) {
102+ .articles-grid {
103+ grid-template-columns : 1fr ;
88104 }
89105}
106+
107+ /* FOOTER */
108+ .page-footer {
109+ position : fixed;
110+ bottom : 0 ;
111+ left : 0 ;
112+ width : 100% ;
113+ height : 60px ;
114+ border-top : 2px solid # 000 ;
115+ background : # fff ;
116+ display : flex;
117+ justify-content : center;
118+ align-items : center;
119+ }
0 commit comments