• www.cgchannel.com
    html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"The Gnomon Workshop has begun a new series of tutorials on foundational digital drawing skills recorded by leading Concept Designer Neville Page.Rendering Matte Surfaces: Volume 1 and Volume 2 each provide over two hours of video training, primarily using Photoshop, although the skills demonstrated apply to any medium.A new series of tutorials covering foundational drawing skills for CG artistsThe new series of workshops is intended to set out essential skills for drawing and rendering 3D forms, helping less experienced artists master perspective and lighting.It progresses in logical steps through planar, rounded, complex, and ultimately, reflective surfaces, blending clear demonstrations with real-world observations.Rather than just teaching drawing techniques, the workshops are intended to set out the reasons why objects appear dimensional, and how to make them feel alive on the page. Rendering Matte Surfaces: Volume 1In the first tutorial, Page explores how light interacts with flat planes, using a cube as the foundation, and explains how our brains interpret form through value changes. Having demonstrated how to build convincing cast shadows and define planar surfaces with clarity and intent, Page explains how to apply those principles in your own drawings.Rendering Matte Surfaces: Volume 2In the second tutorial, Page moves on to rounded surfaces, explaining how light behaves across rounded geometric forms, and demonstrating how to render them convincingly.Having demonstrated how to shade a cylinder, cone, and sphere the core building blocks of form Page provides rendering demos of more complex forms, including a pistol and a camera.About the artistConcept Designer Neville Pages clients include Universal Studios, Warner Bros., 20th Century Fox, Mattel and BMW. He has worked on feature films including Minority Report, Planet of the Apes, X-Men 2 and 3, Superman Returns, Avatar, Cloverfield, The Watchmen, The Hulk, and Star Trek.Pricing and availabilityRendering Matte Surfaces: Volume 1 and Volume 2 are available via a subscription to The Gnomon Workshop, which provides access to over 300 tutorials.Subscriptions cost $57/month or $499/year. Free trials are available.Read more about Rendering Matte Surfaces: Volume 1 on The Gnomon Workshops websiteRead more about Rendering Matte Surfaces: Volume 2 on The Gnomon Workshops websiteHave your say on this story by following CG Channel on Facebook, Instagram and X (formerly Twitter). As well as being able to comment on stories, followers of our social media accounts can see videos we dont post on the site itself, including making-ofs for the latest VFX movies, animations, games cinematics and motion graphics projects.Full disclosure: CG Channel is owned by Gnomon.
    0 Σχόλια ·0 Μοιράστηκε
  • Ready to level up your 3D design skills? Dive into the world of Blender with my latest video, where I create a jaw-dropping 3D perfume ad! From designing a luxurious perfume bottle to unleashing a shower of flowers, this video is all about making magic happen!

    Join me as I guide you through the entire process, including some sneaky tricks to make your ads look ultra-professional. Trust me, you won't want to miss how the bottle rockets out like it's on a mission to fragrance the universe!

    Check out the full video here:
    https://www.youtube.com/watch?v=YBCoeA6eziI

    #Blender #3DDesign #PerfumeAd #Animation #VFX
    🚀 Ready to level up your 3D design skills? Dive into the world of Blender with my latest video, where I create a jaw-dropping 3D perfume ad! 🥳 From designing a luxurious perfume bottle to unleashing a shower of flowers, this video is all about making magic happen! 🌸✨ Join me as I guide you through the entire process, including some sneaky tricks to make your ads look ultra-professional. Trust me, you won't want to miss how the bottle rockets out like it's on a mission to fragrance the universe! 🚀💨 👉 Check out the full video here: https://www.youtube.com/watch?v=YBCoeA6eziI #Blender #3DDesign #PerfumeAd #Animation #VFX
    0 Σχόλια ·0 Μοιράστηκε
  • <p>Unreal Fellowship: Gamesexplore the making of six awesome games in three weeks</p>
    www.unrealengine.com
    The Unreal Fellowship: Games 2025 saw a group of intrepid devs take on intensive, bootcamp-style training to propel them to new heights in game development. Check out the stories behind six of the resulting games here.
    0 Σχόλια ·0 Μοιράστηκε
  • Rosalina's Storybook From Super Mario Galaxy Is Up For Preorder At Amazon
    www.gamespot.com
    Rosalina's Storybook (Hardcover) $25 | Releases November 25 Preorder at Amazon Super Mario Galaxy fans can now preorder a physical edition of Rosalina's Storybook. Revealed during the September Nintendo Direct alongside a Super Mario Galaxy game collection, Rosalina's Storybook adapts the in-game book into a 112-page hardcover volume. Rosalina's Storybook will be published by Dark Horse Books on November 25, just in time for the holidays. Preorders are available now for $25 at Amazon. Rosalina's Storybook (Hardcover) $25 | Releases November 25 The full-color picture book details Rosalina's journey to outer space, where she became the protector and leader of the Lumas. All nine chapters from the original in-game book are included with full-page illustrations. The Super Mario Galaxy + Super Mario Galaxy 2 collection for Switch and Switch 2 has a new chapter, but you won't find those pages in this book.With Amazon's preorder price guarantee, you won't be charged until your order ships and will automatically get any discounts offered before then.Check out two of the pages from the upcoming physical edition of Rosalina's Storybook below. Preorder at Amazon Rosalina's Storybook (Nintendo/Dark Horse)Super Mario Galaxy + Super Mario Galaxy 2 launches October 2 in physical and digital format for Nintendo Switch and Switch 2. The physical edition is for original Switch consoles, but you can upgrade to the Switch 2 version for free. On Switch 2, the collection will run in 4K resolution. Both games support traditional button/stick controls and motion controls. You can preorder the collection for $70 at Amazon, Walmart, and other major retailers. Check out our Super Mario Galaxy + Super Mario Galaxy 2 preorder guide for more details. Continue Reading at GameSpot
    0 Σχόλια ·0 Μοιράστηκε
  • Queen's Egg Quest Best Route In Silksong
    gamerant.com
    Delivering items in Hollow Knight: Silksong can be very exciting, as it requires special conditions and rules for players. One of these items is the Queen's Egg, where players come across this delivery quest. Here's everything you need to know about the Queen's Egg delivery quest, including where to find it and how to deliver it.
    0 Σχόλια ·0 Μοιράστηκε
  • Paint It Blackwell: GeForce RTX 5080 SuperPOD Rollout Begins
    blogs.nvidia.com
    GeForce NOW Blackwell RTX 5080-class SuperPODs are now rolling out, unlocking a new level of ultra high-performance, cinematic cloud gaming.GeForce NOW Ultimate members will see GeForce RTX 5080 performance arriving to a server near them, enabling even richer experiences in blockbuster titles like DUNE: Awakening, Borderlands 4, Hell Is Us, Dying Light: The Beast, Cronos: The New Dawn, Clair Obscur: Expedition 33 and more.They all come with breathtaking graphics and lowest-latency gameplay, thanks to NVIDIA DLSS 4 technology and next-generation AI features. Experience the new Cinematic-Quality Streaming mode for stunning color and fidelity across the latest devices.Look at all the room for activities gaming.The new Install-to-Play feature is expanding the cloud library to nearly 4,500 games for Ultimate and Performance members.This week kicks it off with three new games, including the launch of Borderlands 4. GeForce NOW is the ultimate way to play the Borderlands franchises latest entry free with the purchase of a new 12-month Ultimate membership bundle.Make sure to follow along on GFN Thursdays for server updates.Blackwell to the FutureGame-changer.The future of cloud gaming has arrived. With the NVIDIA Blackwell RTX upgrade, GeForce NOW brings GeForce RTX 5080-class performance to the cloud for the first time. Ultimate members can harness DLSS 4 Multi-Frame Generation, cutting-edge AI enhancements and ultralow click-to-pixel latency, enabling up to 5K at 120 frames per second for premium, responsive gameplay.Members will also see the GeForce NOW library instantly double. Over 2,200 Steam titles opted in by publishers for cloud streaming are hitting the cloud today, with more to come, letting members build and manage their own cloud gaming library. Alongside new Install-to-Play titles, GeForce NOW will continue to roll out ready-to-play titles each week.Coming to a zone near you.NVIDIA Blackwell RTX servers are starting to power up worldwide, so more members can start streaming with unprecedented performance on virtually any device, including PCs, Macs, Chromebooks, LG TVs (4K at 120Hz) and even Steam Decks (now up to 90 fps). Keep an eye on GFN Thursday updates and check the server rollout webpage for new regions going live.Ultimate members will soon see GeForce RTX 5080 performance in their area, with AAA titles like DUNE: Awakening, Borderlands 4, Hell Is Us, Dying Light: The Beast, Cronos: The New Dawn, Clair Obscur: Expedition 33 and more playable at ultimate quality. Look for the new GeForce RTX 5080 Ready row in the app for the full list of GeForce RTX 5080-optimized games, updated weekly with fresh additions.New row, who dis?Dont let this cloud pass by. The Blackwell RTX upgrade is ready for gamers to secure their spots no downloads, no hardware upgrades, just next-level gaming for the same $19.99 per month. Or members can choose to subscribe to the 12-month membership for $199.99 providing more value at less than $17 a month.Break Free With Borderlands 4Welcome to Border-LOL-lands.Get ready for a blast of chaos, color and fun as Borderlands 4 launches on GeForce NOW. The galaxys wildest looter shooter is back, sending four new Vault Hunters on a loot-crazed rampage jam-packed with quippy dialogue and sci-fi shenanigans, all wrapped in the franchises signature mayhem.Gameplay turns the dial to 11 with new double jumps, dashes, grappling hooks and air-glide moves that make every firefight a circus act. Experience a world with sprawling landscapes and nonstop dynamic events.Build the perfect Vault Hunter with deep skill trees and use different weapons each with unique behaviors and effects, now with a revamped loot system where every Legendary feels special. Play it solo or with up to three friends.Play the frantic co-op looter shooter on GeForce NOW with the NVIDIA Blackwell RTX upgrade for cinematic-quality visuals, ultrafast load times and stunning performance. Enjoy NVIDIA DLSS 4-fueled graphics and low-latency gameplay streaming from GeForce RTX 5080 gaming rigs in the cloud.The cloud is the best way to play.The title lands in the cloud on Thursday, Sept. 11. Gamers who upgrade to or purchase a 12-month GeForce NOW Ultimate membership between now and Tuesday, Sept. 25 will get the title for free, available to play as soon as it launches. Unleash chaos across the galaxy with outrageous weapons, irreverent humor and the signature co-op action that makes this iconic looter-shooter franchise a fan favorite.Game OnSet sail for moonlit mystery in Nod-Krai.Genshin Impact Version Luna I: Song of the Welkin Moon is available to play instantly on GeForce NOW no need to wait for downloads or updates. Head on a new adventure through the magical new region of Nod-Krai, where the story, exploration and battles are all shaped by the mysterious power of the moon. Play as three new characters animal-loving Lauma, energetic Flins and inventive Aino as they face off against rival factions, unravel secrets and wield creative new abilities in a world full of quirky creatures and vibrant islands. Plus, anniversary rewards await for everyone who jumps in.In addition, members can look for the following:Firefighting Simulator: Ignite (New release on Steam, Sept. 9)Borderlands 4 (New release on Steam and Epic Games Store, Sept. 11)Professional Fishing 2 (New release on Steam, Sept. 11)What are you planning to play this weekend? Let us know on X or in the comments below.Keep your responses comingwin this bundle! Steam Deck, @ASUS ROG Swift 27" 4K 240Hz G-SYNC Monitor, @Logitech G920 racing wheel, & more!How to enter:1. Follow @NVIDIAGFN2. Reply using #BlackwellonGFN3. Share: What device are you turning into an RTX 5080 GPU? pic.twitter.com/TwSpTyFUze NVIDIA GeForce NOW (@NVIDIAGFN) September 8, 2025
    0 Σχόλια ·0 Μοιράστηκε
  • (For Southeast Asia) PlayStation Plus Game Catalog for September: WWE 2K25, Persona 5 Tactica, Green Hell, Fate/Samurai Remnant, and more
    blog.playstation.com
    This month, step into the ring and dominate the squared circle in WWE 2K25, lead the Phantom Thieves in a new turn-based strategy adventure in Persona 5 Tactica, survive the unforgiving wilderness of the Amazonian jungle in Green Hell, or partake in a Holy Grail War set in Edo Japan in Fate/Samurai Remnant.Meanwhile, Legacy of Kain: Defiance brings vampiric action-adventure to PlayStation Plus Deluxe.PlayStation Plus Extra and Deluxe | Game CatalogView and download imageDownload the imagecloseCloseDownload this imageWWE 2K25 | PS5, PS4The Wiseman Paul Heyman hosts The Bloodlines Dynasty, a new 2K Showcase celebrating one of the most historic family dynasties in wrestling. Relive legendary showdowns and create dream matches between The Bloodline and WWE Superstars and Legends. Intergender wrestling makes its long-awaited WWE 2K debut, alongside the return of chain wrestling, Underground and Bloodline Rules match types, barricade diving and more. Take control of your Superstar from the womens or mens divisions in a singular multi-gender MyRISE storyline where WWE Superstars infiltrate NXT and attempt to take control of the WWE universe. Discover new brawl environments, unlockable arenas, characters, ally storylines and more.* WWE 2K25 is releasing on September 16.View and download imageDownload the imagecloseCloseDownload this imagePersona 5 Tactica | PS5, PS4Persona 5 Tactica is a turn-based strategy game, featuring an all-new story, the return of fan-favourite characters and brand-new allies and foes. After a strange incident, the Phantom Thieves wander into a bizarre realm where its citizens are living under tyrannical oppression. Surrounded by a military group named Legionnaires, they find themselves in grave danger until a mysterious revolutionary named Erina rescues them and offers an enticing deal in exchange for their help. What truth lies behind Erina and the deal she offers to the Phantom Thieves? Join the group as they lead an emotional revolution in this thrilling combat adventure.*Persona 5 Tactica is releasing on September 16 (except for Thailand).View and download imageDownload the imagecloseCloseDownload this imageGreen Hell | PS5, PS4Green Hell is an Open World Survival Simulator set in the unique and uncharted setting of the Amazonian rainforest. Plunge into the open world survival simulation set in the extreme conditions of the unforgiving Amazon jungle. Use real-life survival techniques to craft, hunt, fight, and gather resources. Build a makeshift shelter or raise a fortress, but always remember to tend to your wounds and maintain mental health. Survive on your own, or try your chances in an up-to-4-player online co-op mode.*Green Hell is releasing in Singapore on September 30 and on September 16 in other Southeast Asia markets.View and download imageDownload the imagecloseCloseDownload this imageFate/Samurai Remnant | PS5, PS4Your wish shall perish A Holy Grail War begins in Edo Japan. The curtain rises on a new Fate, an action RPG presented by Type-Moon and Koei Tecmo Games. The 4th year of the Keian Era, Edo Period. It has been several decades since the end of a turbulent, blood-soaked era. People were enjoying peace and tranquility, but a battle between seven pairs of Masters and Servants is about to begin as the Waxing Moon Ritual unfolds in the shadows. Miyamoto Iori, a young man in Asakusa, finds himself caught in the violence of a Holy Grail War.* Fate/Samurai Remnant is releasing on September 16View and download imageDownload the imagecloseCloseDownload this imageCrow Country | PS5, PS4The creators of celebrated point-and-click murder mystery Tangle Tower return with a retro-inspired survival horror set in an abandoned theme park. The year is 1990 and Edward Crow, the owner of the Crow Country theme park, is missing. Two years after he suddenly closed his park, a mysterious young woman called Mara Forest arrives to explore the abandoned property and find its lost owner. Why did Crow really shut down Crow Country and what is Mara Forests connection to him?*Crow Country is releasing in Singapore on September 30 and on September 16 in other Southeast Asia markets.View and download imageDownload the imagecloseCloseDownload this imageThe Invincible | PS5You are a highly qualified, sharp-witted astrobiologist named Yasna. Being entangled in a space race, you and your crew end up on the unexplored planet Regis III. The scientific journey quickly turns into a search mission for lost crewmates. Follow its trail, but be fully aware that every decision you make can bring you closer to danger. On her journey, Yasna will face decisions that will shape the outcome of the story. Help her make difficult choices and witness one of 11 possible endings to the deeply philosophical story.*The Invincible is releasing in Singapore on September 30 and on September 16 in other Southeast Asia markets.View and download imageDownload the imagecloseCloseDownload this imageConscript | PS5Conscript is a survival horror game inspired by classics of the genre, blending all the punishing mechanics of older horror games into a cohesive, tense, and unique experience. Set in 1916 during the Great War, you play as a French soldier searching for his missing-in-action brother during the Battle of Verdun. Will you be able to search twisted trenches, navigate overrun forts, and cross no-mans-land to find him, and ensure a home goes unbroken? Survive in an intense, harrowing atmosphere boosted by a unique pixel art aesthetic and oppressive sound design. Navigate intricate level design that promotes item management and route planning, whilst solving complex environmental puzzles.*Conscript is releasing in Singapore on September 30 and on September 16 in other Southeast Asia markets.PlayStation Plus DeluxeView and download imageDownload the imagecloseCloseDownload this imageLegacy of Kain: Defiance | PS5, PS4Continue Kain and Raziels epic conflict in this faithful emulation of the classic PS2 action-adventure title, Legacy of Kain: Defiance, playable on PS4 and PS5 for the first time. Take control of two powerful and highly evolved vampires: Kain, Emperor of Nosgoth and near-demigod, and Raziel, a wraithlike angel of death. Each equipped with their own legendary sword, Kain & Raziel must battle through a world poisoned by conflict and intrigue as they attempt to unravel their destinies and defeat the dark forces that seek to condemn their world to eternal damnation.* Legacy of Kain: Defiance is releasing on September 16*PlayStation Plus Game Catalog and PlayStation Plus Deluxe lineups may differ by region. Please check PlayStation Store on release day.
    0 Σχόλια ·0 Μοιράστηκε
  • I learned how to fix D&D monsters after playing this cult TTRPG
    www.polygon.com
    This week, I got my hands on indie tabletop role-playing game sensation MRK BORG. I'm late to the party, but Im making my way through the vast sea of indie TTRPGs, and this one specifically was quite hard to get, on the merit of being sold out basically everywhere. As I parsed through the tantalizing pages of MRK BORG, I quickly realized why the game won Gold in the 2020 ENNIE awards for Best Layout and Design, along with Best Writing and Product of the Year. This is a thing of beauty, spawned by a mind suffused with Heavy Metal music and post-apocalyptic visions.
    0 Σχόλια ·0 Μοιράστηκε
  • Integrating CSS Cascade Layers To An Existing Project
    smashingmagazine.com
    You can always get a fantastic overview of things in Stephenie Eckles article, Getting Started With CSS Cascade Layers. But lets talk about the experience of integrating cascade layers into real-world code, the good, the bad, and the spaghetti.I could have created a sample project for a classic walkthrough, but nah, thats not how things work in the real world. I want to get our hands dirty, like inheriting code with styles that work and no one knows why.Finding projects without cascade layers was easy. The tricky part was finding one that was messy enough to have specificity and organisation issues, but broad enough to illustrate different parts of cascade layers integration.Ladies and gentlemen, I present you with this Discord bot website by Drishtant Ghosh. Im deeply grateful to Drishtant for allowing me to use his work as an example. This project is a typical landing page with a navigation bar, a hero section, a few buttons, and a mobile menu.You see how it looks perfect on the outside. Things get interesting, however, when we look at the CSS styles under the hood.Understanding The ProjectBefore we start throwing @layers around, lets get a firm understanding of what were working with. I cloned the GitHub repo, and since our focus is working with CSS Cascade Layers, Ill focus only on the main page, which consists of three files: index.html, index.css, and index.js.Note: I didnt include other pages of this project as itd make this tutorial too verbose. However, you can refactor the other pages as an experiment.The index.css file is over 450 lines of code, and skimming through it, I can see some red flags right off the bat:Theres a lot of code repetition with the same selectors pointing to the same HTML element.There are quite a few #id selectors, which one might argue shouldnt be used in CSS (and I am one of those people).#botLogo is defined twice and over 70 lines apart.The !important keyword is used liberally throughout the code.And yet the site works. There is nothing technically wrong here, which is another reason CSS is a big, beautiful monster errors are silent!Planning The Layer StructureNow, some might be thinking, Cant we simply move all of the styles into a single layer, like @layer legacy and call it a day?You could but I dont think you should.Think about it: If more layers are added after the legacy layer, they should override the styles contained in the legacy layer because the specificity of layers is organized by priority, where the layers declared later carry higher priority./* new is more specific */@layer legacy, new;/* legacy is more specific */@layer new, legacy;That said, we must remember that the sites existing styles make liberal use of the !important keyword. And when that happens, the order of cascade layers gets reversed. So, even though the layers are outlined like this:@layer legacy, new;any styles with an !important declaration suddenly shake things up. In this case, the priority order becomes:!important styles in the legacy layer (most powerful),!important styles in the new layer,Normal styles in the new layer,Normal styles in the legacy layer (least powerful).I just wanted to clear that part up. Lets continue.We know that cascade layers handle specificity by creating an explicit order where each layer has a clear responsibility, and later layers always win. So, I decided to split things up into five distinct layers:reset: Browser default resets like box-sizing, margins, and paddings.base: Default styles of HTML elements, like body, h1, p, a, etc., including default typography and colours.layout: Major page structure stuff for controlling how elements are positioned.components: Reusable UI segments, like buttons, cards, and menus.utilities: Single helper modifiers that do just one thing and do it well.This is merely how I like to break things out and organize styles. Zell Liew, for example, has a different set of four buckets that could be defined as layers.Theres also the concept of dividing things up even further into sublayers:@layer components { /* sub-layers */ @layer buttons, cards, menus;}/* or this: */@layer components.buttons, components.cards, components.menus;That might come in handy, but I also dont want to overly abstract things. That might be a better strategy for a project thats scoped to a well-defined design system.Another thing we could leverage is unlayered styles and the fact that any styles not contained in a cascade layer get the highest priority:@layer legacy { a { color: red !important; } }@layer reset { a { color: orange !important; } }@layer base { a { color: yellow !important; } }/* unlayered */a { color: green !important; } /* highest priority */But I like the idea of keeping all styles organized in explicit layers because it keeps things modular and maintainable, at least in this context.Lets move on to adding cascade layers to this project.Integrating Cascade LayersWe need to define the layer order at the top of the file:@layer reset, base, layout, components, utilities;This makes it easy to tell which layer takes precedence over which (they get more priority from left to right), and now we can think in terms of layer responsibility instead of selector weight. Moving forward, Ill proceed through the stylesheet from top to bottom.First, I noticed that the Poppins font was imported in both the HTML and CSS files, so I removed the CSS import and left the one in index.html, as thats generally recommended for quickly loading fonts.Next is the universal selector (*) styles, which include classic reset styles that are perfect for @layer reset:@layer reset { * { margin: 0; padding: 0; box-sizing: border-box; }}With that out of the way, the body selector is next. Im putting this into @layer base because it contains core styles for the project, like backgrounds and fonts:@layer base { body { background-image: url("bg.svg"); /* Renamed to bg.svg for clarity */ font-family: "Poppins", sans-serif; /* ... other styles */ }}The way Im tackling this is that styles in the base layer should generally affect the whole document. So far, no page breaks or anything.Swapping IDs For ClassesFollowing the body element selector is the page loader, which is defined as an ID selector, #loader.Im a firm believer in using class selectors over ID selectors as much as possible. It keeps specificity low by default, which prevents specificity battles and makes the code a lot more maintainable.So, I went into the index.html file and refactored elements with id="loader" to class="loader". In the process, I saw another element with id="page" and changed that at the same time.While still in the index.html file, I noticed a few div elements missing closing tags. It is astounding how permissive browsers are with that. Anyways, I cleaned those up and moved the <script> tag out of the .heading element to be a direct child of body. Lets not make it any tougher to load our scripts.Now that weve levelled the specificity playing field by moving IDs to classes, we can drop them into the components layer since a loader is indeed a reusable component:@layer components { .loader { width: 100%; height: 100vh; /* ... */ } .loader .loading { /* ... */ } .loader .loading span { /* ... */ } .loader .loading span:before { /* ... */ }}AnimationsNext are keyframes, and this was a bit tricky, but I eventually chose to isolate animations in their own new fifth layer and updated the layer order to include it:@layer reset, base, layout, components, utilities, animations;But why place animations as the last layer? Because animations are generally the last to run and shouldnt be affected by style conflicts.I searched the projects styles for @keyframes and dumped them into the new layer:@layer animations { @keyframes loading { /* ... */ } @keyframes loading2 { /* ... */ } @keyframes pageShow { /* ... */ }}This gives a clear distinction of static styles from dynamic ones while also enforcing reusability.LayoutsThe #page selector also has the same issue as #id, and since we fixed it in the HTML earlier, we can modify it to .page and drop it in the layout layer, as its main purpose is to control the initial visibility of the content:@layer layout { .page { display: none; }}Custom ScrollbarsWhere do we put these? Scrollbars are global elements that persist across the site. This might be a gray area, but Id say it fits perfectly in @layer base since its a global, default feature.@layer base { /* ... */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #0e0e0f; } ::-webkit-scrollbar-thumb { background: #5865f2; border-radius: 100px; } ::-webkit-scrollbar-thumb:hover { background: #202225; }}I also removed the !important keywords as I came across them.NavigationThe nav element is pretty straightforward, as it is the main structure container that defines the position and dimensions of the navigation bar. It should definitely go in the layout layer:@layer layout { /* ... */ nav { display: flex; height: 55px; width: 100%; padding: 0 50px; /* Consistent horizontal padding */ /* ... */ }}LogoWe have three style blocks that are tied to the logo: nav .logo, .logo img, and #botLogo. These names are redundant and could benefit from inheritance component reusability.Heres how Im approaching it:The nav .logo is overly specific since the logo can be reused in other places. I dropped the nav so that the selector is just .logo. There was also an !important keyword in there, so I removed it.I updated .logo to be a Flexbox container to help position .logo img, which was previously set with less flexible absolute positioning.The #botLogo ID is declared twice, so I merged the two rulesets into one and lowered its specificity by making it a .botLogo class. And, of course, I updated the HTML to replace the ID with the class.The .logo img selector becomes .botLogo, making it the base class for styling all instances of the logo.Now, were left with this:/* initially .logo img */.botLogo { border-radius: 50%; height: 40px; border: 2px solid #5865f2;}/* initially #botLogo */.botLogo { border-radius: 50%; width: 180px; /* ... */}The difference is that one is used in the navigation and the other in the hero section heading. We can transform the second .botLogo by slightly increasing the specificity with a .heading .botLogo selector. We may as well clean up any duplicated styles as we go.Lets place the entire code in the components layer as weve successfully turned the logo into a reusable component:@layer components { /* ... */ .logo { font-size: 30px; font-weight: bold; color: #fff; display: flex; align-items: center; gap: 10px; } .botLogo { aspect-ratio: 1; /* maintains square dimensions with width */ border-radius: 50%; width: 40px; border: 2px solid #5865f2; } .heading .botLogo { width: 180px; height: 180px; background-color: #5865f2; box-shadow: 0px 0px 8px 2px rgba(88, 101, 242, 0.5); /* ... */ }}This was a bit of work! But now the logo is properly set up as a component that fits perfectly in the new layer architecture.Navigation ListThis is a typical navigation pattern. Take an unordered list (<ul>) and turn it into a flexible container that displays all of the list items horizontally on the same row (with wrapping allowed). Its a type of navigation that can be reused, which belongs in the components layer. But theres a little refactoring to do before we add it.Theres already a .mainMenu class, so lets lean into that. Well swap out any nav ul selectors with that class. Again, it keeps specificity low while making it clearer what that element does.@layer components { /* ... */ .mainMenu { display: flex; flex-wrap: wrap; list-style: none; } .mainMenu li { margin: 0 4px; } .mainMenu li a { color: #fff; text-decoration: none; font-size: 16px; /* ... */ } .mainMenu li a:where(.active, .hover) { color: #fff; background: #1d1e21; } .mainMenu li a.active:hover { background-color: #5865f2; }}There are also two buttons in the code that are used to toggle the navigation between open and closed states when the navigation is collapsed on smaller screens. Its tied specifically to the .mainMenu component, so well keep everything together in the components layer. We can combine and simplify the selectors in the process for cleaner, more readable styles:@layer components { /* ... */ nav:is(.openMenu, .closeMenu) { font-size: 25px; display: none; cursor: pointer; color: #fff; }}I also noticed that several other selectors in the CSS were not used anywhere in the HTML. So, I removed those styles to keep things trim. There are automated ways to go about this, too.Media QueriesShould media queries have a dedicated layer (@layer responsive), or should they be in the same layer as their target elements? I really struggled with that question while refactoring the styles for this project. I did some research and testing, and my verdict is the latter, that media queries ought to be in the same layer as the elements they affect.My reasoning is that keeping them together:Maintains responsive styles with their base element styles,Makes overrides predictable, andFlows well with component-based architecture common in modern web development.However, it also means responsive logic is scattered across layers. But it beats the one with a gap between the layer where elements are styled and the layer where their responsive behaviors are managed. Thats a deal-breaker for me because its way too easy to update styles in one layer and forget to update their corresponding responsive style in the responsive layer.The other big point is that media queries in the same layer have the same priority as their elements. This is consistent with my overall goal of keeping the CSS Cascade simple and predictable, free of style conflicts.Plus, the CSS nesting syntax makes the relationship between media queries and elements super clear. Heres an abbreviated example of how things look when we nest media queries in the components layer:@layer components { .mainMenu { display: flex; flex-wrap: wrap; list-style: none; } @media (max-width: 900px) { .mainMenu { width: 100%; text-align: center; height: 100vh; display: none; } }}This also allows me to nest a components child element styles (e.g., nav .openMenu and nav .closeMenu).@layer components { nav { &.openMenu { display: none; @media (max-width: 900px) { &.openMenu { display: block; } } } }}Typography & ButtonsThe .title and .subtitle can be seen as typography components, so they and their responsive associates go into you guessed it the components layer:@layer components { .title { font-size: 40px; font-weight: 700; /* etc. */ } .subtitle { color: rgba(255, 255, 255, 0.75); font-size: 15px; /* etc.. */ } @media (max-width: 420px) { .title { font-size: 30px; } .subtitle { font-size: 12px; } }}What about buttons? Like many websites this one has a class, .btn, for that component, so we can chuck those in there as well:@layer components { .btn { color: #fff; background-color: #1d1e21; font-size: 18px; /* etc. */ } .btn-primary { background-color: #5865f2; } .btn-secondary { transition: all 0.3s ease-in-out; } .btn-primary:hover { background-color: #5865f2; box-shadow: 0px 0px 8px 2px rgba(88, 101, 242, 0.5); /* etc. */ } .btn-secondary:hover { background-color: #1d1e21; background-color: rgba(88, 101, 242, 0.7); } @media (max-width: 420px) { .btn { font-size: 14px; margin: 2px; padding: 8px 13px; } } @media (max-width: 335px) { .btn { display: flex; flex-direction: column; } }}The Final LayerWe havent touched the utilities layer yet! Ive reserved this layer for helper classes that are designed for specific purposes, like hiding content or, in this case, theres a .noselect class that fits right in. It has a single reusable purpose: to disable selection on an element.So, thats going to be the only style rule in our utilities layer:@layer utilities { .noselect { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -webkit-user-drag: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }}And thats it! Weve completely refactored the CSS of a real-world project to use CSS Cascade Layers. You can compare where we started with the final code.It Wasnt All EasyThats not to say that working with Cascade Layers was challenging, but there were some sticky points in the process that forced me to pause and carefully think through what I was doing.I kept some notes as I worked:Its tough to determine where to start with an existing project.However, by defining the layers first and setting their priority levels, I had a framework for deciding how and where to move specific styles, even though I was not totally familiar with the existing CSS. That helped me avoid situations where I might second-guess myself or define extra, unnecessary layers.Browser support is still a thing!I mean, Cascade Layers enjoy 94% support coverage as Im writing this, but you might be one of those sites that needs to accommodate legacy browsers that are unable to support layered styles.It wasnt clear where media queries fit into the process.Media queries put me on the spot to find where they work best: nested in the same layers as their selectors, or in a completely separate layer? I went with the former, as you know.The !important keyword is a juggling act.They invert the entire layering priority system, and this project was littered with instances. Once you start chipping away at those, the existing CSS architecture erodes and requires a balance between refactoring the code and fixing whats already there to know exactly how styles cascade.Overall, refactoring a codebase for CSS Cascade Layers is a bit daunting at first glance. The important thing, though, is to acknowledge that it isnt really the layers that complicate things, but the existing codebase.Its tough to completely overhaul someones existing approach for a new one, even if the new approach is elegant.Where Cascade Layers Helped (And Didnt)Establishing layers improved the code, no doubt. Im sure there are some performance benchmarks in there since we were able to remove unused and conflicting styles, but the real win is in a more maintainable set of styles. Its easier to find what you need, know what specific style rules are doing, and where to insert new styles moving forward.At the same time, I wouldnt say that Cascade Layers are a silver bullet solution. Remember, CSS is intrinsically tied to the HTML structure it queries. If the HTML youre working with is unstructured and suffers from div-itus, then you can safely bet that the effort to untangle that mess is higher and involves rewriting markup at the same time.Refactoring CSS for cascade layers is most certainly worth the maintenance enhancements alone.It may be easier to start from scratch and define layers as you work from the ground up because theres less inherited overhead and technical debt to sort through. But if you have to start from an existing codebase, you might need to de-tangle the complexity of your styles first to determine exactly how much refactoring youre looking at.
    0 Σχόλια ·0 Μοιράστηκε
  • Maison&Objet 2025 Boasts Brightness Supersaturated in Design
    design-milk.com
    As minimalism infiltrated media en masse, the mainstreaming of its aesthetic left interiors feeling blah and the concept conflated with fashions genre of quiet luxury. Through this lens, only homes with neutral furniture, whitewashed walls, generic decor, and immaculateness are considered stylish and tasteful. At a moment when pop culture edges past hushed tones, Maison&Objets September 2025 edition arrives as designs own answer to this cultural pivot.Under the artistic direction of Amlie Pichard a designer known for subverting conventions and fusing craft with irony the show celebrates renewal through six curated sectors, the newly inaugurated Design District, and the bold, immersive Welcome Home installation.What I appreciate most is Maison&Objets positioning of home furnishings, or the object, not as a discreet accessory but as a manifesto. Emerging talents, experimental practices, and cross-disciplinary dialogues push past restraint toward a new decorative eloquence where tradition meets AI, where ceramics become statements, and where homes are staged as laboratories of imagination. In contrast to the pared-back anonymity of quiet luxury, this years fair embraces design as expressive, layered, and alive in a response that invites viewers to revel in the materiality, emotion, and vitality of the spaces we inhabit.Join us as we reminisce about the Paris fair and enjoy the following selection of 10 disparate designs that can inject energy, play, and experimentation back into the home.Euclidea + Cartesiana Collection by Paolo SantangeloThe Puglia-born, Milan-inspired Paolo Santangelo nurtures unrelenting joy with his Euclidea and Cartesiana collections. These high-contrast ceramic forms are hard to resist with their jumbo detailing, unique silhouettes, and bold use of color.Handmade Mobiles by Flensted Hanging ArtMobiles exist in this liminal space between sculpture and traditional hanging art, which is rather enchanting. Here, Flensted Hanging Art a Danish brand and family business has managed to balance whimsy with highly-graphic, smart design.Zooom Rug by Haus OttoArtist and design duo Haus Otto bridge two home furnishing typologies with their supersized, chunky knit neon rug, which doubles as a daybed. The jumbo weave is hyper-minimal while remaining ultra cozy, showcasing traditional weaving techniques at a visually accessible scale.Halo Lamp by Rayon Vert StudioAptly named, the Halo Lamp throws bright light through colored discs for a heavenly glow. Rayon Vert Studios design allows users to experiment with up to 27 possible combinations for a truly unique fixture that can be altered to satisfy your every passing fancy.Ollim Speaker by Studio Oll & AllThis wooden speakers unique composition is non-electric and an eco-sensitive design that applies the principle of resonance to amplify sound from your smartphone. And the bell or cone, available in a variety of colors, helps the tiny device punch up above its weight class.Mellow Wall Clock by Design House StockholmDesigned by Joe Parr for Design House Stockholm, this abstract wall clock blends beauty with a whisper of utility for a design piece that can hold its own against any other artful objects in the home. And its monochromatic quality helps articulate the unique form.Catharine Starter Kit by Hooge LandLike a few other offerings from Hooge Land, the Catharine Starter Kit commands the power of thinness with its skinny taper candles and ultra-thin base, yielding a high return on minimal material investment. The bright colors and matching metallic holders add a bit of whimsy.Bow Tie Corkscrew by Addison Ross LondonThe Bow Tie Corkscrew, available at Addison Ross, is the perfect marriage of form and function. The silhouette is informed by utility while the contrasting color detailing speaks to the design savvy.Spiri Vases by Mimo StudioMimo Studio presents Spiri, a collection of two-town graphic vases with wavy lines that makes modularity a little more playful and floral arrangements a lot less formal. It encourages the practice of enjoying simple, fresh flowers rather than extravagant bouquets only on occasion.Vanity Mirror by &klevering&kleverings vanity mirror is a study in contrasts, chunky and soft in form yet somehow petite and strong in stature. This statement accessory is slightly unassuming but somehow immediately caught our eye. Its a selfie-worthy mirror thats hard to resist.Photography by Joseph Sgambati III.
    0 Σχόλια ·0 Μοιράστηκε
CGShares https://cgshares.com