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;
|
top: 0;
|
||||||
z-index: 40;
|
z-index: 40;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
padding: 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="no-print w-full h-20"></div>
|
||||||
<div class="a4page justify-between">
|
<div class="a4page justify-between">
|
||||||
<section>
|
<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>
|
<h1 class="name">Adam French</h1>
|
||||||
<div class="contact-details text-right">
|
<div class="contact-details sm:text-right">
|
||||||
<p>+447563266931</p>
|
<p>+447563266931</p>
|
||||||
<p>adam.a.french@outlook.com</p>
|
<p>adam.a.french@outlook.com</p>
|
||||||
<h4>
|
<h4>
|
||||||
@@ -154,8 +154,8 @@ import Project from "./Project.vue";
|
|||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Education</h2>
|
<h2>Education</h2>
|
||||||
<div class="w-full h-fit flex-row flex gap-5">
|
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||||
<div class="flex-1 border-r border-dotted pr-3">
|
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||||
<h3>
|
<h3>
|
||||||
<a
|
<a
|
||||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||||
@@ -177,7 +177,7 @@ import Project from "./Project.vue";
|
|||||||
<li>Databases · Computer Processors</li>
|
<li>Databases · Computer Processors</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1 pl-3">
|
<div class="flex-1 sm:pl-3">
|
||||||
<h3>University of Waterloo</h3>
|
<h3>University of Waterloo</h3>
|
||||||
<div
|
<div
|
||||||
class="flex-row flex place-content-between m-auto place-items-center"
|
class="flex-row flex place-content-between m-auto place-items-center"
|
||||||
@@ -393,4 +393,18 @@ li {
|
|||||||
gap: 0.3em 1em;
|
gap: 0.3em 1em;
|
||||||
margin-bottom: 0.2em;
|
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>
|
</style>
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ import Project from "./Project.vue";
|
|||||||
<div class="no-print w-full h-20"></div>
|
<div class="no-print w-full h-20"></div>
|
||||||
<div class="a4page justify-between">
|
<div class="a4page justify-between">
|
||||||
<section>
|
<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>
|
<h1 class="name">Adam French</h1>
|
||||||
<div class="contact-details text-right">
|
<div class="contact-details sm:text-right">
|
||||||
<p>+447563266931</p>
|
<p>+447563266931</p>
|
||||||
<p>adam.a.french@outlook.com</p>
|
<p>adam.a.french@outlook.com</p>
|
||||||
<h4>
|
<h4>
|
||||||
@@ -151,8 +151,8 @@ import Project from "./Project.vue";
|
|||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Education</h2>
|
<h2>Education</h2>
|
||||||
<div class="w-full h-fit flex-row flex gap-5">
|
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||||
<div class="flex-1 border-r border-dotted pr-3">
|
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||||
<h3>
|
<h3>
|
||||||
<a
|
<a
|
||||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||||
@@ -178,7 +178,7 @@ import Project from "./Project.vue";
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1 pl-3">
|
<div class="flex-1 sm:pl-3">
|
||||||
<h3>University of Waterloo</h3>
|
<h3>University of Waterloo</h3>
|
||||||
<div
|
<div
|
||||||
class="flex-row flex place-content-between m-auto place-items-center"
|
class="flex-row flex place-content-between m-auto place-items-center"
|
||||||
@@ -393,4 +393,18 @@ li {
|
|||||||
gap: 0.3em 1em;
|
gap: 0.3em 1em;
|
||||||
margin-bottom: 0.2em;
|
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>
|
</style>
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ import Project from "./Project.vue";
|
|||||||
<div class="no-print w-full h-20"></div>
|
<div class="no-print w-full h-20"></div>
|
||||||
<div class="a4page justify-between">
|
<div class="a4page justify-between">
|
||||||
<section>
|
<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>
|
<h1 class="name">Adam French</h1>
|
||||||
<div class="contact-details text-right">
|
<div class="contact-details sm:text-right">
|
||||||
<p>+447563266931</p>
|
<p>+447563266931</p>
|
||||||
<p>adam.a.french@outlook.com</p>
|
<p>adam.a.french@outlook.com</p>
|
||||||
<h4>
|
<h4>
|
||||||
@@ -151,8 +151,8 @@ import Project from "./Project.vue";
|
|||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Education</h2>
|
<h2>Education</h2>
|
||||||
<div class="w-full h-fit flex-row flex gap-5">
|
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||||
<div class="flex-1 border-r border-dotted pr-3">
|
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||||
<h3>
|
<h3>
|
||||||
<a
|
<a
|
||||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||||
@@ -178,7 +178,7 @@ import Project from "./Project.vue";
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1 pl-3">
|
<div class="flex-1 sm:pl-3">
|
||||||
<h3>University of Waterloo</h3>
|
<h3>University of Waterloo</h3>
|
||||||
<div
|
<div
|
||||||
class="flex-row flex place-content-between m-auto place-items-center"
|
class="flex-row flex place-content-between m-auto place-items-center"
|
||||||
@@ -393,4 +393,18 @@ li {
|
|||||||
gap: 0.3em 1em;
|
gap: 0.3em 1em;
|
||||||
margin-bottom: 0.2em;
|
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>
|
</style>
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ import Project from "./Project.vue";
|
|||||||
<div class="no-print w-full h-20"></div>
|
<div class="no-print w-full h-20"></div>
|
||||||
<div class="a4page justify-between">
|
<div class="a4page justify-between">
|
||||||
<section>
|
<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>
|
<h1 class="name">Adam French</h1>
|
||||||
<div class="contact-details text-right">
|
<div class="contact-details sm:text-right">
|
||||||
<p>+447563266931</p>
|
<p>+447563266931</p>
|
||||||
<p>adam.a.french@outlook.com</p>
|
<p>adam.a.french@outlook.com</p>
|
||||||
<h4>
|
<h4>
|
||||||
@@ -109,8 +109,8 @@ import Project from "./Project.vue";
|
|||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Education</h2>
|
<h2>Education</h2>
|
||||||
<div class="w-full h-fit flex-row flex gap-5">
|
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||||
<div class="flex-1 border-r border-dotted pr-3">
|
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||||
<h3>
|
<h3>
|
||||||
<a
|
<a
|
||||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||||
@@ -126,7 +126,7 @@ import Project from "./Project.vue";
|
|||||||
</div>
|
</div>
|
||||||
<small>BSc Computer Science with Mathematics </small>
|
<small>BSc Computer Science with Mathematics </small>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1 pl-3">
|
<div class="flex-1 sm:pl-3">
|
||||||
<h3>University of Waterloo</h3>
|
<h3>University of Waterloo</h3>
|
||||||
<div
|
<div
|
||||||
class="flex-row flex place-content-between m-auto place-items-center"
|
class="flex-row flex place-content-between m-auto place-items-center"
|
||||||
@@ -311,4 +311,18 @@ li {
|
|||||||
gap: 0.3em 1em;
|
gap: 0.3em 1em;
|
||||||
margin-bottom: 0.2em;
|
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>
|
</style>
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import Project from "./Project.vue";
|
|||||||
<main>
|
<main>
|
||||||
<div class="no-print w-full h-20"></div>
|
<div class="no-print w-full h-20"></div>
|
||||||
<div class="a4page justify-between">
|
<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>
|
<h1 class="name">Adam French</h1>
|
||||||
<div class="contact-details text-right">
|
<div class="contact-details sm:text-right">
|
||||||
<p>+447563266931</p>
|
<p>+447563266931</p>
|
||||||
<p>adam.a.french@outlook.com</p>
|
<p>adam.a.french@outlook.com</p>
|
||||||
<h4>
|
<h4>
|
||||||
@@ -158,8 +158,8 @@ import Project from "./Project.vue";
|
|||||||
<div class="a4page gap-10">
|
<div class="a4page gap-10">
|
||||||
<section>
|
<section>
|
||||||
<h2>Education</h2>
|
<h2>Education</h2>
|
||||||
<div class="w-full h-fit flex-row flex gap-5">
|
<div class="w-full h-fit flex flex-col sm:flex-row gap-5">
|
||||||
<div class="flex-1 border-r border-dotted pr-3">
|
<div class="flex-1 sm:border-r border-dotted sm:pr-3">
|
||||||
<h3>
|
<h3>
|
||||||
<a
|
<a
|
||||||
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
href="https://www.adam-french.co.uk/pdf/transcript.pdf"
|
||||||
@@ -185,7 +185,7 @@ import Project from "./Project.vue";
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1 pl-3">
|
<div class="flex-1 sm:pl-3">
|
||||||
<h3>University of Waterloo</h3>
|
<h3>University of Waterloo</h3>
|
||||||
<div
|
<div
|
||||||
class="flex-row flex place-content-between m-auto place-items-center"
|
class="flex-row flex place-content-between m-auto place-items-center"
|
||||||
@@ -394,4 +394,18 @@ li {
|
|||||||
gap: 0.3em 1em;
|
gap: 0.3em 1em;
|
||||||
margin-bottom: 0.2em;
|
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>
|
</style>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<script setup></script>
|
<script setup></script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="flex-row flex">
|
<div class="flex flex-col sm:flex-row">
|
||||||
<div class="w-2/7 mt-auto mb-auto ml-0">
|
<div class="sm:w-2/7 mt-auto mb-auto ml-0">
|
||||||
<slot name="left" />
|
<slot name="left" />
|
||||||
</div>
|
</div>
|
||||||
<div class="w-full p-2">
|
<div class="w-full p-2">
|
||||||
|
|||||||
Reference in New Issue
Block a user