Make CV pages responsive for mobile viewports
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 20s
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 20s
Add flex-wrap, stacked layouts on small screens, and mobile-friendly a4page/skills-grid styles across all CV variants. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,7 @@ function print() {
|
||||
top: 0;
|
||||
z-index: 40;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.5rem;
|
||||
|
||||
@@ -7,9 +7,9 @@ import Project from "./Project.vue";
|
||||
<div class="no-print w-full h-20"></div>
|
||||
<div class="a4page justify-between">
|
||||
<section>
|
||||
<div class="flex flex-row justify-between">
|
||||
<div class="flex flex-col sm:flex-row sm:justify-between">
|
||||
<h1 class="name">Adam French</h1>
|
||||
<div class="contact-details text-right">
|
||||
<div class="contact-details sm:text-right">
|
||||
<p>+447563266931</p>
|
||||
<p>adam.a.french@outlook.com</p>
|
||||
<h4>
|
||||
@@ -154,8 +154,8 @@ import Project from "./Project.vue";
|
||||
|
||||
<section>
|
||||
<h2>Education</h2>
|
||||
<div class="w-full h-fit flex-row flex gap-5">
|
||||
<div class="flex-1 border-r border-dotted pr-3">
|
||||
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||
<h3>
|
||||
<a
|
||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||
@@ -177,7 +177,7 @@ import Project from "./Project.vue";
|
||||
<li>Databases · Computer Processors</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="flex-1 pl-3">
|
||||
<div class="flex-1 sm:pl-3">
|
||||
<h3>University of Waterloo</h3>
|
||||
<div
|
||||
class="flex-row flex place-content-between m-auto place-items-center"
|
||||
@@ -393,4 +393,18 @@ li {
|
||||
gap: 0.3em 1em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.a4page {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.skills-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -7,9 +7,9 @@ import Project from "./Project.vue";
|
||||
<div class="no-print w-full h-20"></div>
|
||||
<div class="a4page justify-between">
|
||||
<section>
|
||||
<div class="flex flex-row justify-between">
|
||||
<div class="flex flex-col sm:flex-row sm:justify-between">
|
||||
<h1 class="name">Adam French</h1>
|
||||
<div class="contact-details text-right">
|
||||
<div class="contact-details sm:text-right">
|
||||
<p>+447563266931</p>
|
||||
<p>adam.a.french@outlook.com</p>
|
||||
<h4>
|
||||
@@ -151,8 +151,8 @@ import Project from "./Project.vue";
|
||||
|
||||
<section>
|
||||
<h2>Education</h2>
|
||||
<div class="w-full h-fit flex-row flex gap-5">
|
||||
<div class="flex-1 border-r border-dotted pr-3">
|
||||
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||
<h3>
|
||||
<a
|
||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||
@@ -178,7 +178,7 @@ import Project from "./Project.vue";
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="flex-1 pl-3">
|
||||
<div class="flex-1 sm:pl-3">
|
||||
<h3>University of Waterloo</h3>
|
||||
<div
|
||||
class="flex-row flex place-content-between m-auto place-items-center"
|
||||
@@ -393,4 +393,18 @@ li {
|
||||
gap: 0.3em 1em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.a4page {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.skills-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -7,9 +7,9 @@ import Project from "./Project.vue";
|
||||
<div class="no-print w-full h-20"></div>
|
||||
<div class="a4page justify-between">
|
||||
<section>
|
||||
<div class="flex flex-row justify-between">
|
||||
<div class="flex flex-col sm:flex-row sm:justify-between">
|
||||
<h1 class="name">Adam French</h1>
|
||||
<div class="contact-details text-right">
|
||||
<div class="contact-details sm:text-right">
|
||||
<p>+447563266931</p>
|
||||
<p>adam.a.french@outlook.com</p>
|
||||
<h4>
|
||||
@@ -151,8 +151,8 @@ import Project from "./Project.vue";
|
||||
|
||||
<section>
|
||||
<h2>Education</h2>
|
||||
<div class="w-full h-fit flex-row flex gap-5">
|
||||
<div class="flex-1 border-r border-dotted pr-3">
|
||||
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||
<h3>
|
||||
<a
|
||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||
@@ -178,7 +178,7 @@ import Project from "./Project.vue";
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="flex-1 pl-3">
|
||||
<div class="flex-1 sm:pl-3">
|
||||
<h3>University of Waterloo</h3>
|
||||
<div
|
||||
class="flex-row flex place-content-between m-auto place-items-center"
|
||||
@@ -393,4 +393,18 @@ li {
|
||||
gap: 0.3em 1em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.a4page {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.skills-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -7,9 +7,9 @@ import Project from "./Project.vue";
|
||||
<div class="no-print w-full h-20"></div>
|
||||
<div class="a4page justify-between">
|
||||
<section>
|
||||
<div class="flex flex-row justify-between">
|
||||
<div class="flex flex-col sm:flex-row sm:justify-between">
|
||||
<h1 class="name">Adam French</h1>
|
||||
<div class="contact-details text-right">
|
||||
<div class="contact-details sm:text-right">
|
||||
<p>+447563266931</p>
|
||||
<p>adam.a.french@outlook.com</p>
|
||||
<h4>
|
||||
@@ -109,8 +109,8 @@ import Project from "./Project.vue";
|
||||
|
||||
<section>
|
||||
<h2>Education</h2>
|
||||
<div class="w-full h-fit flex-row flex gap-5">
|
||||
<div class="flex-1 border-r border-dotted pr-3">
|
||||
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||
<h3>
|
||||
<a
|
||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||
@@ -126,7 +126,7 @@ import Project from "./Project.vue";
|
||||
</div>
|
||||
<small>BSc Computer Science with Mathematics </small>
|
||||
</div>
|
||||
<div class="flex-1 pl-3">
|
||||
<div class="flex-1 sm:pl-3">
|
||||
<h3>University of Waterloo</h3>
|
||||
<div
|
||||
class="flex-row flex place-content-between m-auto place-items-center"
|
||||
@@ -311,4 +311,18 @@ li {
|
||||
gap: 0.3em 1em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.a4page {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.skills-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -6,9 +6,9 @@ import Project from "./Project.vue";
|
||||
<main>
|
||||
<div class="no-print w-full h-20"></div>
|
||||
<div class="a4page justify-between">
|
||||
<section class="flex flex-row justify-between">
|
||||
<section class="flex flex-col sm:flex-row sm:justify-between">
|
||||
<h1 class="name">Adam French</h1>
|
||||
<div class="contact-details text-right">
|
||||
<div class="contact-details sm:text-right">
|
||||
<p>+447563266931</p>
|
||||
<p>adam.a.french@outlook.com</p>
|
||||
<h4>
|
||||
@@ -158,8 +158,8 @@ import Project from "./Project.vue";
|
||||
<div class="a4page gap-10">
|
||||
<section>
|
||||
<h2>Education</h2>
|
||||
<div class="w-full h-fit flex-row flex gap-5">
|
||||
<div class="flex-1 border-r border-dotted pr-3">
|
||||
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||
<h3>
|
||||
<a
|
||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||
@@ -185,7 +185,7 @@ import Project from "./Project.vue";
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="flex-1 pl-3">
|
||||
<div class="flex-1 sm:pl-3">
|
||||
<h3>University of Waterloo</h3>
|
||||
<div
|
||||
class="flex-row flex place-content-between m-auto place-items-center"
|
||||
@@ -394,4 +394,18 @@ li {
|
||||
gap: 0.3em 1em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.a4page {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.skills-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<script setup></script>
|
||||
|
||||
<template>
|
||||
<div class="flex-row flex">
|
||||
<div class="w-2/7 mt-auto mb-auto ml-0">
|
||||
<div class="flex flex-col sm:flex-row">
|
||||
<div class="sm:w-2/7 mt-auto mb-auto ml-0">
|
||||
<slot name="left" />
|
||||
</div>
|
||||
<div class="w-full p-2">
|
||||
|
||||
Reference in New Issue
Block a user