Post pobrano z: Dark Matter: gorgeous photos of black ink in water
UK-based photographer Alberto Seveso did an amazing job taking dramatic photos of dark ink dropped into liquid. The dark orange background gives the scenes an added intensity that reveals the beauty of the movement and textures even better.
Squeezy Stretchy Flexbox Nav
Post pobrano z: Squeezy Stretchy Flexbox Nav
I saw an interesting take on off-canvas navigation the other day over on The New Tropic. It wasn’t the off-canvas part so much. It was how the elements within the nav took up space. They stretched out to take up all the space, when available, but never squished too far. Those are concepts that flexbox makes pretty easy to express! Let’s dig in a little.
Here’s the nav, a video showing what I mean:
My favorite part is how there are submenus. When a submenu is toggled open, the same rules apply. If some stretching has happened, the nav items will shrink in height, making room for the submenu. But never shrink too far. If there isn’t room, the menu will just scroll.
Standard Two-Level Nav HTML
Pretty easy to mock out with Emmet:
<nav class="main-nav">
<ul class="nav-list">
<li><a href="">Lorem ipsum.</a></li>
<li>
<button class="submenu-toggle-button">+</button>
<a href="">Explicabo, perspiciatis.</a>
<ul class="submenu nav-list">
<li><a href="">Lorem ipsum.</a></li>
<li><a href="">Culpa, qui!</a></li>
<li><a href="">Repudiandae, eaque.</a></li>
</ul>
</li>
<li><a href="">Sit, dolor.</a></li>
<li><a href="">Dicta, possimus?</a></li>
<!-- etc -->
</ul>
</nav>
Flexbox the Column
Let’s make sure that list is as tall as the browser window, which is easy with viewport units. Then make sure each of the list items stretch to fill the space:
.main-nav > ul {
height: 100vh;
display: flex;
flex-direction: column;
}
.main-nav > ul > li {
flex: 1;
}
We’ve already gotten almost all the way there! Stretching works great, only when there is room, like we want:
Quick Toggles
We have a <button> in place to toggle the submenus (arguably, we should probably place those buttons with JavaScript, since they don’t do anything without). Here’s how they could work. The submenus are hidden by default:
.submenu {
max-height: 0;
transition: 0.5s;
overflow: hidden;
}
We can open it with a class:
.submenu.open {
max-height: 200px; /* non-ideal magic number */
}
We’re animating to an unknown height here, which is tricky. We hope to have a good article addressing this out soon (there are options).
Toggling classes is plenty easy:
var buttons = document.querySelectorAll('.submenu-toggle-button');
[].forEach.call(buttons, function(button) {
button.addEventListener('click', function() {
var submenu = button.parentNode.querySelector('.submenu');
submenu.classList.toggle('open');
});
});
That gets those submenus behaving like we want:
Demo
You’ll probably need to pop over to the Pen to play with the vertical stretching stuff.
See the Pen Squeezy Stretchy Nav by Chris Coyier (@chriscoyier) on CodePen.
Squeezy Stretchy Flexbox Nav is a post from CSS-Tricks
“lives in a sort of purgatory”
Post pobrano z: “lives in a sort of purgatory”
Brad Frost:
A front-end designer … lives in a sort of purgatory between worlds:
- They understand UX principles and best practices, but may not spend their time conducting research, creating flows, and planning scenarios
- They have a keen eye for aesthetics, but may not spend their time pouring over font pairings, comparing color palettes, or creating illustrations and icons.
- They can write JavaScript, but may not spend their time writing application-level code, wiring up middleware, or debugging.
- They understand the importance of backend development, but may not spend their time writing backend logic, spinning up servers, load testing, etc.
A front-end developer is aware.
Direct Link to Article — Permalink
“lives in a sort of purgatory” is a post from CSS-Tricks
“Write a script”
Post pobrano z: “Write a script”
Jeremy Keith, on teaching people JavaScript for the first time:
A lot of that boils down to this pattern:
When (some event happens), then (take this action).
We brainstormed some examples of this e.g. „When the user submits a form, then show a modal dialogue with an acknowledgment.” I then encouraged them to write a script …but I don’t mean a script in the JavaScript sense; I mean a script in the screenwriting or theater sense. Line by line, write out each step that you want to accomplish. Once you’ve done that, translate each line of your English (or Portuguese) script into JavaScript.
Pseudo code. I’m a big fan.
Writing a code flow out in plain English works great for beginners, and in my experience remains useful forever. I find myself regularly writing pseudo code in Slack and in bug/idea tickets, although I’ve perhaps graduated from plain English to my own weird non-language:
IF (user_is_pro? AND has_zero_posts)
OR (signed_up_less_than_three_days_ago) {
// ajax for stuff
// show thing
}
Direct Link to Article — Permalink
“Write a script” is a post from CSS-Tricks
Prepd
Post pobrano z: Prepd![]()
Heydays Design Agency
Post pobrano z: Heydays Design Agency![]()
Hum Creative
Post pobrano z: Hum Creative![]()
Paul Valentine
Post pobrano z: Paul Valentine![]()
Michael K Williams asks Am I Typecast?
Post pobrano z: Michael K Williams asks Am I Typecast?
Is Michael K Williams being typecast? Are you? The Atlantic invites audiences to question their assumptions in a short film starring an actor known for the nuanced complexity of the characters he portrays. The film is the centerpiece of Question Your Answers, a new campaign from American magazine The Atlantic, built on The Atlantic’s 160-year legacy and the idea of of questioning conventional wisdom. In the two-and-a-half-minute film, “Typecast,” we see Michael K Williams, known for such roles as Omar Little in The Wire and Chalky White in Boardwalk Empire, wondering aloud if he’s being typecast. But we soon discover that he’s not alone: He’s debating this complicated question with four versions of himself, all representing different aspects of who he’s been and who he is today.
“Question Your Answers” arrives at a moment of great conversation and debate about the state of media. On social media and at TheAtlantic.com, the campaign urges audiences to break down their information silos, challenge established answers, and embrace a lifestyle of continuous interrogation and exploration.
In a note introducing the campaign, The Atlantic’s President Bob Cohn writes: “The central premise of the campaign is that The Atlantic has a 160-year tradition of questioning established answers. We scrutinize our own (and others’) opinions; we challenge the received wisdom; we’re open to ideas that mess with our assumptions. We do all this as part of our commitment to bring clarity and original thinking to the most consequential issues of the day.”
“It seems like everywhere you look, people are shouting their opinions,” says Wieden+Kennedy creative director Jaclyn Crowley. “The Atlantic respects introspection and the vulnerability that comes with exploring and questioning your beliefs. This kind of thinking is not only refreshing, but necessary.”
The film’s director, David Shane of O Positive Films, says: “The idea is so smart and so simple—The Atlantic allows and encourages you to look at all sides of an issue. We tried to create the vibe of four dudes, four friends just hanging out and having this kind of thoughtful discussion. The degree of difficulty of this performance is actually hard to fully understand. He was playing, in effect, four characters, and trying to keep track of them.”
Michael K Williams Am I Typecast Credits
The QuestionsAnswers campaign campaign was developed at Wieden+Kennedy New York by executive creative director Karl Lieberman, creative directors Jaclyn Crowley and Al Merry, copywriter Brock Kirby, project manager Danielle Rounds, head of integrated production Nick Setounski, media director David Stopforth, executive producer Alison Hill, media strategist Sophie Novick, social media director Jessica Breslin, strategist Brian Ritter, account team Sara Jagielski, Patrick O, Lindsey Tim, PR and publishing director Teressa Lezzi, and management supervisor Samantha Wagner.
Filming was shot by director David Shane via O Positive with director of photography Maryse Alberti, line producer Marc Grill, executive producer Ralph Laucella,
Editor was Gavin Cutler at MackCut with producer Gina Pagano and assistant editor Pamela Petruski.
Visual effects and colour were produced at The Mill by executive producer Verity Grantham, producer Clairellen Wallin, production coordinator Kate Aspell, shoot supervisor/2D lead artist Antoine Douadi, colour producer Natalie Westerfield, colour coordinator Elizabeth Nagle, colourist Josh Bohoskey, colour assistants Daniel Moisoff, Nate Seymour, Amanda Bernhardt, Zack Wilpon.
A sixteen years old idea? / Une idée qui n’a pas beaucoup vieillie?
Post pobrano z: A sixteen years old idea? / Une idée qui n’a pas beaucoup vieillie?
![]() |
![]() |
| THE ORIGINAL? Subaru Legacy “Baby Driver” – 2010 Watch the TV Commercial Source : IAA Awards GOLD Agency : Carmichael Lynch, Minneapolis (USA) |
LESS ORIGINAL IKEA “My Son” – 2016 Watch the TV Commercial Source : Cristal festival SILVER Agency : Buzzman Paris (France) |



