aboutsummaryrefslogtreecommitdiff
path: root/build/posts/ps4-download-ui
diff options
context:
space:
mode:
authorBradley Taunt <bt@btxx.org>2024-07-02 14:22:21 -0400
committerBradley Taunt <bt@btxx.org>2024-07-02 14:22:21 -0400
commit3f6a9546ec13063d0d5bdf21d30a93d3e8aa6050 (patch)
tree947985c4eda1bceb1910bc01739c32fd0baad181 /build/posts/ps4-download-ui
parent14074019d62d98885c4c764401a9e7e1fd129f79 (diff)
Rebuild changes based off latest barfHEADmaster
Diffstat (limited to 'build/posts/ps4-download-ui')
-rw-r--r--build/posts/ps4-download-ui/index.html155
1 files changed, 0 insertions, 155 deletions
diff --git a/build/posts/ps4-download-ui/index.html b/build/posts/ps4-download-ui/index.html
deleted file mode 100644
index 8bd7151..0000000
--- a/build/posts/ps4-download-ui/index.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="color-scheme" content="dark light">
- <link rel="icon" href="data:,">
- <title>PS4 Download UI with Pure CSS</title>
- <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" />
- <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="RSS feed for blog posts" />
-<style>*{box-sizing:border-box;}body{font-family:sans-serif;line-height:1.33;margin:0 auto;max-width:650px;padding:1rem;}blockquote{background:rgba(0,0,0,0.1);border-left:4px solid;padding-left:5px;}img{max-width:100%;}pre{border:1px solid;overflow:auto;padding:5px;}table{text-align:left;width:100%;}.footnotes{font-size:90%;}</style>
-</head>
-
-<nav>
- <a href="#menu">Menu &darr;</a>
-</nav>
-
-<main>
-<h1 id="ps4-download-ui-with-pure-css">PS4 Download UI with Pure CSS</h1>
-<p>2021-06-20</p>
-<p>Overall, I&#8217;m fairly impressed with the user interface design of Sony&#8217;s PS4 system OS. It&#8217;s minimal and keeps the content front and center. Even with it&#8217;s sometimes spotty performance hiccups, I&#8217;ve come to enjoy interacting with it.</p>
-<p>One of the key UI items I&#8217;ve always been a fan of is the download progress view under the <code>Notifications</code> settings. So I figured I&#8217;d try my hand at recreating this with pure CSS. Here is the final result:</p>
-<p><img src="/public/images/ps4-loading.png" alt="PS4 loading screen bar" /></p>
-<p><a href="https://codepen.io/bradleytaunt/pen/qBroORG">Live CodePen Example</a></p>
-<p>Although I&#8217;ve added some of my own improvements (typography spacing, tweaks to the progress bar animation) - the concept it still pretty close to the original.</p>
-<p>But enough chit-chat, let&#8217;s walkthrough how to make it!</p>
-<h2 id="the-html">The HTML</h2>
-<p>As with most of my demos, the HTML is very minimal and straightforward. The PS4 system OS download view needs to show the following:</p>
-<ol>
-<li>The game&#8217;s title</li>
-<li>Full game size, amount downloaded and time remaining</li>
-<li>Visual progress bar</li>
-</ol>
-<p>So we will place the game&#8217;s title inside our <code>h2</code> with a class of <code>title</code> (shocking, I know). The details about game size, downloaded amount and time remaining gets placed under a parent <code>div</code> with an accompanying <code>details</code> class. Finally, we create our progress bar by including a parent <code>div</code> with a class of <code>progress</code> that contains a child <code>div</code> with a class of <code>inner-progress</code>.</p>
-<p>Pretty clean and easy to understand.</p>
-<pre><code>&#60;div class="wrapper"&#62;
- &#60;img src="https:&#47;&#47;upload.wikimedia.org&#47;wikipedia&#47;commons&#47;0&#47;00&#47;PlayStation_logo.svg" alt="PS4" class="logo"&#62;
- &#60;h2 class="title"&#62;Detroit: Become Human&#60;&#47;h2&#62;
- &#60;div class="details"&#62;
- &#60;p&#62;Update File&#60;&#47;p&#62;
- &#60;p&#62;13.45&#47;17.50 GB (21 Minutes Left)&#60;&#47;p&#62;
- &#60;&#47;div&#62;
- &#60;div class="progress"&#62;
- &#60;div class="inner-progress"&#62;&#60;&#47;div&#62;
- &#60;&#47;div&#62;
-&#60;&#47;div&#62;
-</code></pre>
-<h2 id="the-css">The CSS</h2>
-<p>Now it&#8217;s time to utilize all those classes in the HTML above to craft our PS4 UI recreation. I&#8217;ll break this section down into digestible chunks to avoid overwhelming you by vomiting out a bunch of CSS spaghetti.</p>
-<p>First we&#8217;ll add a bunch of QOL improvements to help better showcase the demo (adding custom fonts, center content etc.).</p>
-<p>This part is completely <em>optional</em>:</p>
-<pre><code>&#47;* Import fonts *&#47;
-@import url(&#39;https:&#47;&#47;fonts.googleapis.com&#47;css2?family=Source+Sans+Pro:wght@200;400&#38;display=swap&#39;);
-
-&#47;* Gradient background styling, height overrides *&#47;
-body {
- background: linear-gradient(#226AB6 0%, #144E8A 100%) no-repeat;
- color: white;
- display: block;
- font-family: &#39;Source Sans Pro&#39;, sans-serif;
- font-weight: 200;
- height: 100vh;
-}
-
-&#47;* Wrapper to center content *&#47;
-.wrapper {
- margin: 0 auto;
- max-width: 800px;
- padding: 4rem 0 0;
-}
-
-&#47;* Optional PS4 logo *&#47;
-.logo {
- display: block;
- filter: invert(1);
- margin: 0 0 2rem 0;
- opacity: 0.5;
- width: 60px;
-}
-</code></pre>
-<p>Now for the styling that <em>actually matters</em>. First we will style the game&#8217;s title and accompanying details (<code>flexbox</code> to the rescue again!):</p>
-<pre><code>h2.title {
- font-weight: 400;
- margin: 0;
-}
-
-.details {
- display: flex;
- justify-content: space-between;
- margin: 0.2rem 0 0;
-}
-.details p {
- margin: 0;
-}
-</code></pre>
-<p>Not a whole lot of code to get things looking proper, eh? Next we move on to the progress bar. This is <em>slightly</em> more interesting since we are going to utilize the <code>before</code> pseudo element - which sounds more complex than it actually is. Pay close attention to the pseudo element and how it calls the <code>progress-bar-shine</code> animation - more on that later.</p>
-<pre><code>.progress {
- background: #226AB6;
- border: 1px solid white;
- height: 15px;
- margin: 2rem 0 0;
- position: relative;
- width: 100%;
-}
-.progress:before {
- animation: progress-bar-shine 2.5s infinite;
- background: linear-gradient(to left, white 0%, transparent 100%);
- border-radius: 10px;
- content:&#39;&#39;;
- filter: blur(8px);
- height: 100%;
- opacity: 0.8;
- position: absolute;
- transform:translateX(0);
- width: 50px;
-}
-.inner-progress {
- background: white;
- height: 100%;
- opacity: 0.6;
- width: 450px;
-}
-</code></pre>
-<p>Almost finished! We just need to animate that <code>before</code> pseudo element with a simple <code>keyframes</code> at-rule:</p>
-<pre><code>@keyframes progress-bar-shine {
- to {
- transform:translateX(450px);
- opacity:0;
- }
-}
-</code></pre>
-<h2 id="wrapping-up">Wrapping Up</h2>
-<p>Although far from perfect, this experiment still explores what can be created (or in this case, <em>re</em>created) in the browser using just pure CSS. Remember, you don&#8217;t have to reach for JavaScript just because you can!</p>
-<footer role="contentinfo">
- <h2>Menu Navigation</h2>
- <ul id="menu">
- <li><a href="/">Home</a></li>
- <li><a href="/projects">Projects</a></li>
- <li><a href="/uses">Uses</a></li>
- <li><a href="/wiki">Wiki</a></li>
- <li><a href="/resume">Resume</a></li>
- <li><a href="/colophon">Colophon</a></li>
- <li><a href="/now">Now</a></li>
- <li><a href="/donate">Donate</a></li>
- <li><a href="/atom.xml">RSS</a></li>
- <li><a href="#top">&uarr; Top of the page</a></li>
- </ul>
- <small>
- Built with <a href="https://barf.btxx.org">barf</a>. <br>
- Feeds: <a href="/atom.xml">Atom</a> & <a href="/rss.xml">RSS</a><br>
- Maintained with ♥ for the web. <br>
- Proud supporter of <a href="https://usefathom.com/ref/DKHJVX">Fathom</a> &amp; <a href="https://nextdns.io/?from=74d3p3h8">NextDNS</a>. <br>
- The content for this site is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>.<br> The <a href="https://git.sr.ht/~bt/bt.ht">code for this site</a> is <a href="https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE">MIT</a>.
- </small>
-</footer> \ No newline at end of file