Compare commits

..

6 Commits

Author SHA1 Message Date
Simon
afbb2fbcb2 Update README.md 2021-08-10 12:06:40 +00:00
Thoscellen
a9172b1b7a feat: 🚧 prepare stuff for exposing the frame-only branch 2021-08-09 19:23:45 +02:00
Thoscellen
84f6aeb129 chore: ♻️ manual forward of the wireframe branch to master state. 2021-08-09 19:13:41 +02:00
Thomas d'Alexis
4ea38804a5 fix la mention "Pocket"
Ce travaille ne s'appuie pas sur l'appli Pocket.
2021-01-27 13:55:35 +00:00
Simon Priet
1c22a67bbc premier commit en wireframes 2020-09-25 14:57:26 +02:00
Simon Priet
b326cd669f added credits in readme 2020-09-25 13:51:36 +02:00
14 changed files with 148 additions and 307 deletions

View File

@ -2,34 +2,26 @@
> This repository serve resources and examples for my [Behance portfolio](https://www.behance.net/gallery/117643605/Lightbox-Remastered). > This repository serve resources and examples for my [Behance portfolio](https://www.behance.net/gallery/117643605/Lightbox-Remastered).
This small redesign is a personal take on lightboxes (or popins) used in One and Neo platforms. I felt the current one was in dire need of a rework and a better UI. You are viewing the frame-only branch. This branch feature a wireframe version of this prototype.
The project itself is a prototype in native HTML/CSS aiming to improve the box behaviour and resizing. I worked into rearranging the content panels via Flexboxs and Grids, and redefined where content could be allowed to scroll or be static. It now takes into account the viewport and the content and try to prioritize what should be resized first. I eliminated existing empties and suboptimal areas and adjusted borders and lines to create a more easy and readable component. The component have a better hierarchical reading from top to bottom and use more width. * [Interactive showcase](https://khosmon.gitlab.io/Lightbox-Remastered/wireframe.html)
This work allowed me to exercise on interface design and graphical design, inspired to step in the One guidelines, and improve my HTML and CSS skills. This prototype aim to suggest improvements on the product.
* [Interactive showcase](https://khosmon.gitlab.io/Lightbox-Remastered/)
On Firefox, you can use the Adaptative View (`Ctrl / Cmd + Shift + M`) to resize it freely. On Firefox, you can use the Adaptative View (`Ctrl / Cmd + Shift + M`) to resize it freely.
* [Before/After comparison](https://khosmon.gitlab.io/Lightbox-Remastered/juxtaposejs/)
## Gallery ## Gallery
![Example of a full ranged lightbox](https://khosmon.gitlab.io/Lightbox-Remastered/readme_assets/Lightbox%201.png) ![Exemple of a full ranged lightbox](./public/readme_assets/Frame%201.png)
![Example of a comfty lightbox](https://khosmon.gitlab.io/Lightbox-Remastered/readme_assets/Lightbox%202.png) ![Exemple of a very big lightbox](./public/readme_assets/Frame%202.png)
![Example of a neat lightbox](https://khosmon.gitlab.io/Lightbox-Remastered/readme_assets/Lightbox%203.png) ![Exemple of a comfty lightbox](./public/readme_assets/Frame%203.png)
![Example of a tight lightbox](https://khosmon.gitlab.io/Lightbox-Remastered/readme_assets/Lightbox%204.png) ![Exemple of a neat lightbox](./public/readme_assets/Frame%204.png)
![Example of a narrow lightbox](https://khosmon.gitlab.io/Lightbox-Remastered/readme_assets/Lightbox%205.png) ![Exemple of a small lightbox](./public/readme_assets/Frame%205.png)
![Example of a cramped lightbox](https://khosmon.gitlab.io/Lightbox-Remastered/readme_assets/Lightbox%206.png)
![Exemple of a narrow lightbox](./public/readme_assets/Frame%206.png)
## Credits ## Credits
* Fonts: Microsoft, Apple, Graig Rozynski, Purushoth Kumar Guttula * Fonts: Microsoft, Apple, Graig Rozynski, Purushoth Kumar Guttula
* Originals Design, Assets, Codes, Graphics: Open Digital Education * Originals Design, Assets, Codes, Graphics: Open Digital Education

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,200 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link type="text/css" rel="stylesheet" href="./main.css" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div id="fake">
<img src="./assets/fake-home.jpg" />
</div>
<div id="lbmod1" class="lb-mod softener">
<div class="lb-container">
<div class="lb-header">
<h2>Importer des documents</h2>
<a href="#" class="close-button"><img src="./assets/closebutton.png"></a>
<div id="tabs-container">
<span></span>
<span><a href="#">Intégrer un contenu externe</a></span>
<span><a href="#">Filmer depuis la caméra</a></span>
<span class="active"><a href="">Parcourir son Espace Doc</a></span>
<span></span>
</div>
</div>
<div class="lb-body doc-file-browse">
<div id="doc-file-search">
<input type="search" placeholder="Rechercher" />
<button>🔍</button>
</div>
<div id="doc-file-viewmode">
<a href="#" class="active"></a>
<a href="#"></a>
<a href="#"></a>
</div>
<div id="doc-file-nav" class="list-nav scrollable">
<ul class="">
<li class="active">
<span>Mes documents</span>
<ul>
<li><span>Mes Images</span></li>
<li><span>Mes Enregistrements</span></li>
<li><span>Mes Vidéos</span></li>
<li><span>Mes Devoirs</span></li>
<li><span>Mes Archives</span></li>
<li><span>Mes Affaires</span></li>
<li><span>Mes Mots</span></li>
<li><span>Mes Classeurs</span></li>
</ul>
</li>
<li><span>Documents partagés</span></li>
<li><span>Documents des applis</span></li>
</ul>
</div>
<div id="doc-file-dominos" class="domino-container scrollable">
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Images</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Enregistrements</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Vidéos</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Devoirs</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Archives</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Affaires</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Mots</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title">Mes Classeurs</h3>
</div>
<div class="domino-item type-file">
<h4 class="domino-title">Consigne trigonométrie pythagore<span class="extension"> docs</span></h4>
<p class="subtitle">Fichier Word</p>
</div>
<div class="domino-item type-file">
<h4 class="domino-title">Suivit des notes <span class="extension"> XLSX</span></h4>
<span class="subtitle">Fichier Excel</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
<div class="domino-item">
<h4 class="domino-title">Dummy file <span class="extension"> file</span></h4>
<span class="subtitle">Fichier fichier</span>
</div>
</div>
</div>
<div class="lb-footer">
<button>Annuler</button>
<button>Ok</button>
</div>
</div>
</div>
</body>
</html>

101
lightbox-wireframe.html Normal file
View File

@ -0,0 +1,101 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link type="text/css" rel="stylesheet" href="./main.css" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div id="lbmod1" class="lb-mod softener">
<div class="lb-container">
<div class="lb-header">
<h2><span class="text-ph">Importer des documents</span></h2>
<div class=" "><span class="text-ph close-button">x</span></div>
<div id="tabs-container">
<span></span>
<span><a href="#" class="text-ph">Onglet 1</a></span>
<span><a href="#" class="text-ph">Onglet 2</a></span>
<span class="active"><a href="#" class="text-ph">Onglet actif</a></span>
<span></span>
</div>
</div>
<div class="lb-body doc-file-browse">
<div id="doc-file-search">
<input type="search" placeholder="Rechercher" />
<button>🔍</button>
</div>
<div id="doc-file-viewmode">
Vue :
<a href="#" class="active">Mosaïque</a>
<a href="#">Grille</a>
<a href="#">Liste</a>
</div>
<div id="doc-file-nav" class="list-nav scrollable ">
<ul class="">
<li class="active">
<span class="text-ph">Mes documents</span>
<ul>
<li><span class="text-ph">Mes Images</span></li>
<li><span class="text-ph">Mes Enregistrements</span></li>
<li><span class="text-ph">Mes Vidéos</span></li>
<li><span class="text-ph">Mes Devoirs</span></li>
<li><span class="text-ph">Mes Archives</span></li>
<li><span class="text-ph">Mes Affaires</span></li>
<li><span class="text-ph">Mes Mots</span></li>
<li><span class="text-ph">Mes Classeurs</span></li>
</ul>
</li>
<li><span class="text-ph">Un dossier racine</span></li>
<li><span class="text-ph">Un autre dossier racine</span></li>
</ul>
</div>
<div id="doc-file-dominos" class="domino-container scrollable">
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Images</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Enregistrements</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Vidéos</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Devoirs</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Archives</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Affaires</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Mots</h4>
</div>
<div class="domino-item type-folder">
<h4 class="domino-title text-ph">Mes Classeurs</h3>
</div>
<div class="domino-item type-file">
<h4 class="domino-title text-ph">Consigne trigonométrie</h3>
<p class="subtitle text-ph">Fichier Word</p>
</div>
<div class="domino-item type-file">
<h4 class="domino-title text-ph">Suivit des notes</h3>
<span class="subtitle text-ph">Fichier Excel</span>
</div>
<div class="domino-item">
<h4 class="domino-title text-ph">Dummy file</h3>
<span class="subtitle text-ph">Fichier fichier</span>
</div>
</div>
</div>
<div class="lb-footer">
<button>Annuler</button>
<button>Ok</button>
</div>
</div>
</div>
</body>
</html>

130
main.css
View File

@ -1,6 +1,4 @@
/* Faking a real website */ /* Faking a real website */
@import url('https://fonts.googleapis.com/css2?family=Comic+Neue&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mallanna&display=swap');
html { html {
height: 100%; height: 100%;
@ -11,20 +9,15 @@ body {
margin: 0; margin: 0;
min-height: 100%; min-height: 100%;
box-sizing: border-box; box-sizing: border-box;
font-family: Calibri, Mallanna, sans-serif;
} }
h1, .text-ph {
h2, background-color: rgb(236, 236, 236);
h3, color: transparent !important;
button {
font-family: "Chalkboard", "Comic Neue", "Comic Sans MS", cursive;
/* letter-spacing: -0.5px; */
text-transform: uppercase;
font-weight: 700;
} }
/* The body of the fake website consist of a scrollable big picture */ /* The body of the fake website consist of a scrollable big picture */
#fake { #fake {
/* background: url(./fake-home.jpg); */ /* background: url(./fake-home.jpg); */
z-index: 9; z-index: 9;
@ -48,27 +41,24 @@ button {
/* overflow: auto; */ /* overflow: auto; */
z-index: 10; z-index: 10;
} }
/*
.softener { .softener {
/* backdrop-filter: blur(5px); */ backdrop-filter: blur(5px);
background-color: rgba(0, 0, 0, 0.5); background-color: rgba(0, 0, 0, 0.5);
} } */
/* lightbox itself */ /* lightbox itself */
.lb-container { .lb-container {
display: grid; display: grid;
margin: 5em auto; margin: 5em;
grid-template-rows: min-content auto min-content; grid-template-rows: min-content auto min-content;
position: static; position: static;
z-index: 11; z-index: 11;
max-width: 1030px; max-width: 1030px;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.11), 0 2px 2px rgba(0, 0, 0, 0.11), background-color: white;
0 4px 4px rgba(0, 0, 0, 0.11), 0 6px 8px rgba(0, 0, 0, 0.11), border: 1px solid lightgray;
0 8px 16px rgba(0, 0, 0, 0.11); border-radius: 1em;
/* background-color: white; */
/*border: 1px solid white;*/
border-radius: 1em;
} }
.scrollable { .scrollable {
@ -76,44 +66,35 @@ button {
} }
.lb-header { .lb-header {
background: white; position: relative;
backdrop-filter: blur(10px);
border-radius: 1em 1em 0 0;
} }
.lb-header h2 { .lb-header h2 {
margin: 0.5em 1em; margin: 0.5em 1em;
color: rgb(56, 137, 193);
overflow: hidden; overflow: hidden;
} }
.lb-header .close-button { .lb-header .close-button {
position: absolute; position: absolute;
right:.5em; right:.5em;
top:.5em; top:.5em;
} width: 20px;
height: 20px;
.close-button img {
height: 30px;
width: 30px;
} }
#tabs-container { #tabs-container {
display: flex; display: flex;
font-family: "Chalkboard", "Comic Neue", "Comic Sans MS", cursive; letter-spacing: -0.5px;
/* letter-spacing: -0.5px; */
overflow-x: auto; overflow-x: auto;
font-weight: 600;
} }
#tabs-container a { #tabs-container a {
text-decoration: none; text-decoration: none;
color: rgb(56, 137, 193);
} }
#tabs-container > span.active a { /* #tabs-container > span.active a {
color: rgb(255, 141, 46); color: rgb(255, 141, 46);
} } */
#tabs-container > span { #tabs-container > span {
flex-grow: 1; flex-grow: 1;
@ -127,15 +108,13 @@ button {
flex-grow: 1; flex-grow: 1;
min-width: min-content; min-width: min-content;
text-align: center; text-align: center;
border-radius: 0.5em 0.5em 0 0;
border: 1px solid lightgray; border: 1px solid lightgray;
border-top: 2px solid rgb(255, 141, 46);
border-bottom: none; border-bottom: none;
background-color: white; background-color: white;
} }
.lb-body { .lb-body {
padding: 1em; /* padding: 1em; */
padding-bottom: 0; padding-bottom: 0;
/* max-height: 350px; */ /* max-height: 350px; */
max-height: calc(100vh - 10em - 200px); max-height: calc(100vh - 10em - 200px);
@ -151,59 +130,47 @@ button {
} }
.doc-file-browse #doc-file-viewmode { .doc-file-browse #doc-file-viewmode {
visibility: hidden;
grid-row: toolbar; grid-row: toolbar;
grid-column: side; grid-column: side;
justify-self: start; justify-self: start;
} }
.doc-file-browse #doc-file-search { .doc-file-browse #doc-file-search {
visibility: hidden;
grid-row: toolbar; grid-row: toolbar;
grid-column: central; grid-column: central;
justify-self: start; justify-self: start;
} }
.doc-file-browse #doc-file-nav { .doc-file-browse #doc-file-nav {
grid-row: main; grid-row: toolbar / span 2;
grid-column: side; grid-column: side;
} }
.doc-file-browse #doc-file-dominos { .doc-file-browse #doc-file-dominos {
grid-row: main; grid-row: toolbar / span 2;
grid-column: central; grid-column: central;
} }
input { input[type="text"],
border-radius: 5px; input[type="password"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="date"] {
border: 1px solid #c9ced5; border: 1px solid #c9ced5;
line-height: 25px; line-height: 25px;
padding: 0 10px; padding: 0 10px;
box-sizing: border-box; box-sizing: border-box;
height: 40px; height: 40px;
text-transform: initial;
font-size: initial; font-size: initial;
font-family: Calibri, Mallanna, "Segoe UI", sans-serif;
} }
#doc-file-viewmode a {
background-image: linear-gradient(#fff, #e9ebef);
border-radius: 15px;
height: 40px;
min-width: 40px;
display: inline-block;
}
#doc-file-viewmode a.active {
background-image: linear-gradient(#3889c1, #43b9e7);
}
button { button {
/* height: 40px; */ /* height: 40px; */
box-sizing: border-box; box-sizing: border-box;
background-image: linear-gradient(#3889c1, #43b9e7);
color: #fff;
border: none; border: none;
border-radius: 15px;
font-size: initial; font-size: initial;
padding:9px 12px; padding:9px 12px;
} }
@ -223,18 +190,16 @@ button {
} }
.list-nav li span { .list-nav li span {
border-radius: 4px;
padding: 3px 9px; padding: 3px 9px;
cursor: pointer; cursor: pointer;
height: 100%;
} }
.list-nav li:not(.active) span:hover { .list-nav li:not(.active) span:hover {
background-image: linear-gradient(#fff, #e9ebef); background: lightgray;
} }
.list-nav .active > span { .list-nav .active > span {
background-image: linear-gradient(#3889c1, #43b9e7); background: lightgray;
color: white; color: white;
} }
@ -242,33 +207,26 @@ button {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-start; justify-content: flex-start;
align-items: flex-start; align-items: flex-start;
height: 100%; align-content: flex-start;
} }
.domino-item { .domino-item {
margin: 5px; margin: 5px;
border: 1px solid lightgray; border: 1px solid #ebebeb;
width: 150px; width: 150px;
height: 80px; height: 80px;
background: url(https://via.placeholder.com/80) no-repeat; background: url(https://via.placeholder.com/80/ebebeb/ebebeb) no-repeat;
padding-left: 86px; padding-left: 86px;
border-radius: 8px;
overflow: hidden; overflow: hidden;
} }
.domino-item h4 { .domino-item h4 {
text-transform: initial;
/* font-family: Calibri, "Segoe UI", sans-serif; */
font-weight: normal;
font-size: 11pt;
letter-spacing: initial;
margin: 6px 0 ; margin: 6px 0 ;
color: rgb(53, 53, 53); color: rgb(53, 53, 53);
} }
.domino-item h4 span.extension { .domino-item h4 span.extension {
color:gray; color:gray;
text-transform: uppercase;
font-size: 70%; font-size: 70%;
} }
@ -280,22 +238,12 @@ button {
.lb-footer { .lb-footer {
padding: 1em; padding: 1em;
justify-self: end;
overflow: hidden; overflow: hidden;
background-color: white;
backdrop-filter: blur(20px);
border-radius: 0 0 1em 1em;
}
.type-folder {
border: 1px solid #efdd77;
background: left / contain no-repeat url("./assets/folder-large.png") ;
}
.type-file {
/* border: 1px solid lightgray; */
background: left / contain no-repeat url("./assets/unknown-large.png") ;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB