5 Best Free Courses and Resources to Level Up As a Web Designer

Original Source: https://www.webdesignerdepot.com/2020/09/5-best-free-courses-and-resources-to-level-up-as-a-web-designer/

I often see freelancers on social media asking what the secret is to working fewer hours, making more money, and helping new clients to find them. While those things tend to happen the longer you’ve been freelancing, it doesn’t happen without some effort.

If you’re wondering how you can change things so that your business becomes more profitable and easier to manage, education is the key.

But it’s not just mastering new design techniques that will take you to the next level. It’s important to invest your time in a well-rounded education so that you can grow not just as a web designer, but also as a freelancer and business owner.

The good news is that you don’t have to spend a ton of cash on courses or resources. In the following round-up, I’m going to share some of the best free courses to help you level up.

5 Best Free Courses and Resources for Web Designers

Rather than sign up for Udemy, Skillshare and other premium course membership sites, I recommend taking a bootstrapping approach to self-education. I mean, the whole point in learning new skills and strengthening existing ones is so you can run a better business and make more money, right?

Once you have extra funds to throw at premium courses, definitely explore those options. For now, let’s focus on the free courses and resources that’ll help get you to that next level:

1. edX

edX was created by Harvard and MIT in order to provide university-level training and education to anyone, anywhere. While you can’t get certified without paying a few hundred dollars, you can go through entire courses for free.

Courses are offered over a wide range of categories. As a freelance web designer, you’d do well to focus on the following areas:

Design
Learn more than just how to design beautiful interfaces. Learn about the technical side of it, too — things like AI, IoT, and cybersecurity.

Computer Science
Learn web development and coding.

Business & Management
Learn essential business skills like:

Project management
Finance management
Leadership
Marketing and analysis

Communication
Learn things like branding, negotiation, reputation management, and critical thinking.

2. Envato Tuts+

Envato Tuts+ might be best known for its succinct step-by-step design and development tutorials. However, it has a new section of free video courses to take advantage of.

Although you won’t learn any soft skills here, this is a great resource if you want to master the tools of your trade.

Free courses give you a deeper look at tools like:

HTML, CSS, and JavaScript
Adobe’s suite of software
Sketch
WordPress
Video conferencing tools

3. YouTube

YouTube is more than just a place to watch entertaining videos. There are some amazing YouTube channels for web designers at all skill levels.

When choosing a design channel and course to follow, look for ones that are well organized. If they’re just posting videos at random without any rhyme or reason, it’ll be difficult to focus on and master one skill set before moving onto the next.

Here are the channels I recommend you follow:

Flux

Learn skills related to:

Web design
Getting started as a freelancer
Strengthening your processes
Building your portfolio
Design theory and strategy

CharliMarieTV

Learn skills related to:

Web design
Building sites with Figma or Webflow
Career paths for designers
Productivity hacks

NNgroup

Learn skills related to UX:

Web design
User psychology
Usability testing
Design thinking
Research and data analysis
Journey mapping
Get access to UX Conference seminars, too

4. Moz Whiteboard Fridays

Even if you don’t offer SEO as a standalone service, it’s important for web designers to understand the role they play in SEO and to stay abreast of the latest and greatest strategies.

If you haven’t tuned in for one of Moz’s Whiteboard Fridays yet, I’d recommend you start now.

Some of the topics might not be relevant to you (like creating a content strategy). However, there are others you’ll get some great tips from, like the one above that talks about creating great visuals, preparing web pages with tags and schema markup, and optimizing for featured snippets.

5. Nir Eyal – Indistractible

Nir Eyal has made a name for himself over the years as an author and presenter on the subject of human psychology and behavior. His first book (Hooked) examined consumer behavior and how to design around it. His second (Indistractible) turned the focus on us — the doers and creators who build experiences and products for consumers.

The first of his free resources to explore is this 30-minute presentation on why we’re so easily distracted and how to keep those distractions (and ourselves) from getting in the way.

The second free resource to snag up is the 80-page workbook available on the homepage. Here’s a preview of what it looks like:

You’ll learn about common distractions, identify those that are specific to you, and then work through exercises to defeat them.

If this is something you’re struggling with, these resources will empower you to make a much-needed change.

BONUS: WebDesigner Depot

Although WebDesigner Depot doesn’t offer video courses, I consider each of the articles contained within this site to be mini-courses of their own. And you’ll learn everything you’ve ever wanted to know about becoming a web designer and growing your freelance business.

 

Featured image via Unsplash.

Source

p img {display:inline-block; margin-right:10px;}
.alignleft {float:left;}
p.showcase {clear:both;}
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}

Building Microservices with Deno, Reno, and PostgreSQL

Original Source: https://www.sitepoint.com/building-microservices-with-deno-reno-postgresql/?utm_source=rss

Building Microservices with Deno, Reno, and PostgreSQL

In this tutorial, we show you how to go about building microservices with Deno, and introduce you to Reno — a thin routing library for Deno. We’ll explore how we can use this newer JavaScript platform to build a microservice that exposes endpoints for acting on a database.

Deno is a JavaScript and TypeScript runtime from Node.js creator Ryan Dahl that aims to address some of the latter technology’s shortcomings, such as simplifying the module path lookup algorithm and more closely aligning the core APIs with their browser-based equivalents. Despite these fundamental differences, the potential applications of Deno and Node.js are mostly identical. One of Node’s core strengths lies in building HTTP services, and the same can be argued for Deno.

Writing HTTP Servers with std/http

Before we introduce a routing library or contemplate our data access layer, it would be useful to step back and build a simple HTTP server with the std/http module, which is part of Deno’s standard library. If you haven’t already, install Deno. In a Unix-type operating system, you can run:

$ curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.3.0

Note that this tutorial has been developed against 1.3.0 (and std 0.65.0 as we’ll see later), but any later 1.x versions you may be using should be compatible. Alternatively, if you’re running an older version of Deno, you can upgrade to 1.3.0 with the deno upgrade command:

deno upgrade –version 1.3.0

You can verify that the expected Deno version has been installed with deno –version.

We’re now in a position to build an HTTP server. Create a directory, within your usual development directory, named deno-hello-http, and open it in your editor. Then, create a file called server.ts, and use the listenAndServe function within std/http to build our server:

import { listenAndServe } from “https://deno.land/std@0.65.0/http/mod.ts”;

const BINDING = “:8000”;

console.log(`Listening on ${BINDING}…`);

await listenAndServe(BINDING, (req) => {
req.respond({ body: “Hello world!” });
});

Developer Experience Protips

If you’re using VS Code, I’d heavily recommend the official Deno extension, which provides support for Deno’s path resolution algorithm. Additionally, you can run deno cache server.ts to install the dependencies and their TypeScript definitions, the latter serving as an invaluable API guide when writing your code.

We can start our server by running deno run –allow-net server.ts in our shell. Note the –allow-net permissions flag, granting our program with network access. Once listening on port 8000, we can target it with a HTTP request:

$ curl -v http://localhost:8000/ ; echo

> GET / HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< content-length: 12
<

Hello world!

Great! With a few lines of TypeScript, we’ve been able to implement a simple server. That said, it isn’t particularly well-featured at this point. Given that we consistently serve “Hello world!” from our callback function, the same response will be returned for any endpoint or HTTP method. If we hit a server with POST /add, we’ll receive the same headers and body:

$ curl -v -d ‘{}’ http://localhost:8000/add ; echo

> POST /add HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.58.0
> Accept: */*
> Content-Length: 2
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 200 OK
< content-length: 12
<

Hello world!

We can limit the existing response to GET / by conditionally checking the url and method properties of our callback’s req parameter:

import {
listenAndServe,
ServerRequest,
} from “https://deno.land/std@0.65.0/http/mod.ts”;

const BINDING = “:8000”;

console.log(`Listening on ${BINDING}…`);

function notFound({ method, url }: ServerRequest) {
return {
status: 404,
body: `No route found for ${method} ${url}`,
};
}

await listenAndServe(BINDING, (req) => {
const res = req.method === “GET” && req.url === “/”
? { body: “Hello world” }
: notFound(req);

req.respond(res);
});

If we restart our server, we should observe that GET / works as expected, but any other URL or method will result in a HTTP 404:

$ curl -v -d ‘{}’ http://localhost:8000/add ; echo

> POST /add HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.58.0
> Accept: */*
> Content-Length: 2
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 404 Not Found
< content-length: 28
<

No route found for POST /add

std/http Beyond Simple Services

Bootstrapping trivial HTTP servers with Deno and std/http has proven to be relatively straightforward. How does this approach scale for more complex services?

Let’s consider a /messages endpoint that accepts and returns user-submitted messages. Following a RESTful approach, we can define the behavior of this endpoint and of our service overall:

Continue reading
Building Microservices with Deno, Reno, and PostgreSQL
on SitePoint.

Diagonal Thumbnail Slideshow Animation

Original Source: http://feedproxy.google.com/~r/tympanus/~3/ikLcNlTo_vM/

The other day I saw this very nice Dribbble shot by Anton Tkachev and couldn’t help but envision it as a slideshow with some large typography. So I went ahead and did a small demo which then turned into an exploration of several animations for the image tiles and the texts.

So the main idea is to animate the tilted thumbnails out of the viewport when navigating to the next or previous slide. While the thumbnails move out, the titles get animated too, in that reveal/unreveal fashion that seems to be quite trendy now. The direction of the motion depends on wether we’re navigating back or forth.

The animations are powered by GreenSock’s GSAP animation library.

I’m totally in love with IvyMode and this demo was just a perfect excuse to use Jan Maack’s typeface again!

The images used in the demos are by generative artist Manolo Ide who offers his artwork for free.

I really hope this gives you a starting point for exploring more effects!

The post Diagonal Thumbnail Slideshow Animation appeared first on Codrops.

20 Neat Workspace Designs to Boost Productivity

Original Source: https://www.hongkiat.com/blog/workspace-design/

Bored with the state of your workspace or office desk? Maybe this post will convince you to do something about it. It doesn’t matter if you work from home work or are chained to an office desk…

Visit hongkiat.com for full content.

8 Easy Ways To Ruin Your User Onboarding

Original Source: https://www.webdesignerdepot.com/2020/08/8-easy-ways-to-ruin-your-user-onboarding/

To understand why user onboarding is such an indispensable tool, we need to empathize with the people using our products; we all come from different backgrounds and cultures, we make different assumptions, and we see the world differently.

User onboarding helps mitigate these differences by making your product’s learning curve less steep.

However, companies often make unfortunate mistakes that hinder user experience and cause frustration. In today’s article, we’ll take a look at eight ways companies ruin their products’ onboarding process.

Let’s dive right in, shall we?

1. No User Onboarding at all

As a part of the team that created a product, you’ve probably spent hundreds of hours going over its features and the most minute detail. Naturally, you know the product like the back of your hand. The user does not.

Naturally, you know the product like the back of your hand. The user does not

We may believe that the app we’ve worked on is straightforward and that user onboarding is probably overkill — but that’s almost never the case. Guiding our users through a product will help with retention, conversion, and their overall satisfaction.

However, there are very rare cases when you can do without user onboarding, here are a few:

Your product is too straightforward to cause any confusion;
Your product has a formulaic structure, similar to that of other products’ in your category, i.e., social media or e-commerce;
Your product relies heavily on Google or iOS design guidelines with common design patterns;
Your product is too complex (enterprise or business-oriented) — in such cases, users need special training, rather than just an onboarding;

2. Assuming That Users “Get It”

 One of the vital UX mottos we should always be mindful of is that “we are not our users.” When onboarding them, we always need to assume that they’re at square one. We should communicate with them as if they have no prior knowledge of our product, its terminology, and the way it works.

Providing freshly-registered users with highly contextual information will most likely confuse them. As a result, this will render your attempts to create a helpful onboarding process useless.  

3. Onboarding Users on a Single Touchpoint

it’s tempting to brainstorm which features should make it into the onboarding, then design and code them; that’s a very bad idea

The main problem with the previous point is that it’s too contextual for new users. However, providing no context altogether can be problematic as well. This is commonly found in onboarding processes that focus on a single touchpoint while leaving out the rest of the product.

By choosing to inform users of our product’s features, we force them to detour from their “normal” course of action. This comes at the cost of the user’s frustration.

Since we’re asking people to pay this price, it’s best to provide them with information that will also help them navigate the entire product. As a result, this will decrease the number of times we’ll have to distract them from their ordinary flow.

4. Forcing Users Through Onboarding

We’ve previously mentioned that we mustn’t assume that users have any background knowledge about our products.

The opposite argument can be made — experienced users don’t need a basic onboarding process. It will most likely frustrate them, and it won’t provide them with any real value. Also, forcing users through this process will most likely take the onboarding frustration to a whole other level.

This is why it’s essential that we allow them to skip the parts they don’t find useful. This way, we’ll address the knowledge gaps of the people who really want it and need it.

5. Onboarding Based Purely on Assumptions

This is yet another point that’s implicit in “we are not our users”. Oftentimes, it’s tempting to brainstorm which features should make it into the onboarding, then design and code them; that’s a very bad idea.

Here’s what every designer should do instead:

Do user interviews: You should conduct these before having anything designed; user interviews will help you shortlist and prioritize features in terms of their significance, so that the onboarding is focused around the features that matter most.
Do usability testing: Once you have a good idea of what features your users consider most important, design onboarding that reflects that; having completed your design, make sure to conduct at least 5 usability testing sessions with users, so that you can make sure that your design works.

6. Just Letting Users Quit

While we shouldn’t force people to go through onboarding, it doesn’t mean we shouldn’t nudge them in the right direction.

find that sweet spot between being front of mind and annoying

People choose not to onboard for many reasons, but showing them around will benefit both parties. Therefore, it’s never wrong to remind them that they can always resume onboarding via email or push notifications (unless you’re too pushy). Make sure to find that sweet spot between being front of mind and annoying. 

Similarly, these two mediums are a great way to deliver valuable information as well.

Here’s a great example of an onboarding email from InVision:

And here’s a clever notification from TripPlanner:

Source: clevertap.com

7. Asking For Too Much Information

We need to always be mindful of the fact that the product’s spokesperson should act as a guide during onboarding. Its goal at the very beginning is to build trust.

We can ask for small favors when we’ve built a solid and lasting relationship

Not only is asking for too much information from the get-go unproductive, but it will also undermine the trust that the user already gave us.

It’s best to abstain from asking freshly-registered users for their credit card information. Nearly 100% of businesses care about profits — and there’s no shame in it. However, today’s most successful companies make money by providing users with value. So it’s best to stimulate users to share their financial data in subtler ways while focusing on customer experience.

The same can be said about subjecting the people using your service to extensive questionnaires. At the first steps of our interaction, it’s all about giving and gaining trust. We can ask for small favors when we’ve built a solid and lasting relationship.

8. Onboarding for the Sake of Onboarding

While there are dozens of reasons why you should guide your users through your product, it needs to be done well. A pointless onboarding process that doesn’t provide users with value is more frustrating than the lack thereof.

Onboarding can be a bit frustrating at times. Pointless onboarding will just raise eyebrows. It will slow users down and disengage them, which is exactly the opposite of what we want.

Conclusion

The process of introducing your users to your product is one of the factors that will define its success.

A critical aspect of user onboarding that we need to always take into account is value. Is this detour from our user’s ordinary course of action valuable to them? Will this improve their experience with the product?

Onboarding demands careful and continuous tailoring. Once perfected, this process will help you win new users’ hearts and help you build brand loyalty.

 

Featured image via Unsplash.

Source

p img {display:inline-block; margin-right:10px;}
.alignleft {float:left;}
p.showcase {clear:both;}
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}

32 Creative and Interesting Bento Boxes

Original Source: https://www.hongkiat.com/blog/creative-and-interesting-bento-boxes/

For most Japanese mothers, lunch is not just simple food preparation and packing meals for their love ones, they spend their time arranging the meal in aesthetically pleasing way. These lunch boxes…

Visit hongkiat.com for full content.

Adversarial Interoperability

Original Source: https://www.sitepoint.com/adversarial-interoperability/?utm_source=rss

“Interoperability” is the act of making a new product or service work with an existing product or service: modern civilization depends on the standards and practices that allow you to put any dish into a dishwasher or any USB charger into any car’s cigarette lighter.

But interoperability is just the ante. For a really competitive, innovative, dynamic marketplace, you need adversarial interoperability: that’s when you create a new product or service that plugs into the existing ones without the permission of the companies that make them. Think of third-party printer ink, alternative app stores, or independent repair shops that use compatible parts from rival manufacturers to fix your car or your phone or your tractor.

Adversarial interoperability was once the driver of tech’s dynamic marketplace, where the biggest firms could go from top of the heap to scrap metal in an eyeblink, where tiny startups could topple dominant companies before they even knew what hit them.

But the current crop of Big Tech companies has secured laws, regulations, and court decisions that have dramatically restricted adversarial interoperability. From the flurry of absurd software patents that the US Patent and Trademark Office granted in the dark years between the first software patents and the Alice decision to the growing use of “digital rights management” to create legal obligations to use the products you purchase in ways that benefit shareholders at your expense, Big Tech climbed the adversarial ladder and then pulled it up behind them.

That can and should change. As Big Tech grows ever more concentrated, restoring adversarial interoperability must be a piece of the solution to that concentration: making big companies smaller makes their mistakes less consequential, and it deprives them of the monopoly profits they rely on to lobby for rules that make competing with them even harder.

For months, we have written about the history, theory, and practice of adversarial interoperability. This page rounds up our writing on the subject in one convenient resource that you can send your friends, Members of Congress, teachers, investors, and bosses as we all struggle to figure out how to re-decentralize the Internet and spread decision-making power around to millions of individuals and firms, rather than the executives of a handful of tech giants.

Interoperability: Fix the Internet, Not the Tech Companies: a taxonomy of different kinds of interoperability, from “indifferent interoperability” (I don’t care if you plug your thing into my product) to “cooperative interoperability” (please plug your thing into my product) to “adversarial interoperability” (dang it, stop plugging your thing into my product!).
Unix and Adversarial Interoperability: The ‘One Weird Antitrust Trick’ That Defined Computing How do you get a ruthless monopolist to sit on its hands while competitors large and small make interoperable versions of one of its inventions? The story of Unix shows the way.
alt.interoperability.adversarial: The history of the alt. hierarchy shows how an Internet dominated by protocols, not products, ensured that users could shape their online experiences. Restoring legal protections to interoperators could turn today’s Big Tech companies back into protocols that anyone could plug a new service into.
Adversarial Interoperability: Reviving an Elegant Weapon From a More Civilized Age to Slay Today’s Monopolies: The history of adversarial interoperability and how it drove the tech revolutions of the past four decades, and what we can do to restore it.
Gopher: When Adversarial Interoperability Burrowed Under the Gatekeepers’ Fortresses: Before the Web devoured Gopher, Gopher devoured mainframes.
Interoperability and Privacy: Squaring the Circle: Big Tech companies created a privacy dumpster fire on the Internet, but now they say they can’t fix it unless we use the law to ban competitors from plugging new services into their flaming dumpsters. That’s awfully convenient, don’t you think?
A Cycle of Renewal, Broken: How Big Tech and Big Media Abuse Copyright Law to Slay Competition: Cable TV exists because of adversarial interoperability, which gave it the power to disrupt the broadcasters. Today, Big Cable is doing everything it can to stop anyone from disrupting it.
‘IBM PC Compatible’: How Adversarial Interoperability Saved PCs From Monopolization: IBM spent more than a decade on the wrong end of an antitrust action over its mainframe monopoly, but when it created its first PCs, scrappy upstarts like Phoenix and Compaq were able to clone its ROM chips and create a vibrant, fast-moving marketplace.
SAMBA versus SMB: Adversarial Interoperability is Judo for Network Effects: Microsoft came this close to owning the modern office by locking up the intranet in a proprietary network protocol called SMB…That is, until a PhD candidate released SAMBA, a free/open product that adversarially interoperated with SMB and allows Macs, Unix systems, and other rivals to live on the same LANs as Windows machines.
Felony Contempt of Business Model: Lexmark’s Anti-Competitive Legacy: Printer companies are notorious for abusive practices, but Lexmark reached a new low in 2002, when it argued that copyright gave it the right to decide who could put carbon powder into empty toner cartridges. Even though Lexmark failed, it blazed a trail that other companies have enthusiastically followed, successfully distorting copyright to cover everything from tractor parts to browser plugins.
Mint: Late-Stage Adversarial Interoperability Demonstrates What We Had (And What We Lost): The last great hurrah of Adversarial Interoperability, fought the finance sector…and won!
Adblocking: How About Nah?: The early Web was infested with intrusive pop-up ads, and adversarial interoperability rendered them invisible. Today, adblocking is the largest boycott in history, doing more to curb bad ads and the surveillance that goes with them than any regulator.
African WhatsApp Modders are the Masters of Worldwide Adversarial Interoperability: GB WhatsApp started life in the Syrian conflict and is now the leader of the pack in Africa, where it is more popular than Facebook itself — and where it has to compete with other WhatsApp mods, each customized to a different kind of user and use-case.

(Republished from EFF Deeplinks under a Creative Commons Attribution 4.0 license)

Continue reading
Adversarial Interoperability
on SitePoint.

How to Use Deno’s Built-in Tools

Original Source: https://www.sitepoint.com/deno-built-in-tools/?utm_source=rss

How to Use Deno’s Built-in Tools

One surprising difference between Deno and Node.js is the number of tools built into the runtime. Other than a Read-Eval-Print Loop (REPL) console, Node.js requires third-party modules to handle most indirect coding activities such as testing and linting. Deno provides almost everything you need out of the box.

Before we begin, a note. Deno is new! Use these tools with caution. Some may be unstable. Few have configuration options. Others may have undesirable side effects such as recursively processing every file in every subdirectory. It’s best to test tools from a dedicated project directory.

Install Deno

Install Deno on macOS or Linux using the following terminal command:

curl -fsSL https://deno.land/x/install/install.sh | sh

Or from Windows Powershell:

iwr https://deno.land/x/install/install.ps1 -useb | iex

Further installation options are provided in the Deno manual.

Enter deno –version to check installation has been successful. The version numbers for the V8 JavaScript engine, TypeScript compiler, and Deno itself are displayed.

Upgrade Deno

Upgrade Deno to the latest version with:

deno upgrade

Or upgrade to specific release such as v1.3.0:

deno upgrade –version 1.30.0

Most of the tools below are available in all versions, but later editions may have more features and bug fixes.

Deno Help

A list of tools and options can be viewed by entering:

deno help

Read-Eval-Print Loop (REPL)

Like Node.js, a REPL expression evaluation console can be accessed by entering deno in your terminal. Each expression you enter returns a result or undefined:

$ deno

Deno 1.3.0
exit using ctrl+d or close()
> const w = ‘World’;
undefined
> w
World
> console.log(`Hello ${w}!`);
Hello World!
undefined
> close()

$

Previously entered expressions can be re-entered by using the cursor keys to navigate through the expression history.

Dependency Inspector

A tree of all module dependencies can be viewed by entering deno info <module> where <module> is the path/URL to an entry script.

Consider the following lib.js library code with exported hello and sum functions:

// general library: lib.js

/**
* return “Hello <name>!” string
* @module lib
* @param {string} name
* @returns {string} Hello <name>!
*/
export function hello(name = ‘Anonymous’) {

return `Hello ${ name.trim() }!`;

};

/**
* Returns total of all arguments
* @module lib
* @param {…*} args
* @returns {*} total
*/
export function sum(…args) {

return […args].reduce((a, b) => a + b);

}

These can be used from a main entry script, index.js, in the same directory:

// main entry script: index.js

// import lib.js modules
import { hello, sum } from ‘./lib.js’;

const
spr = sum(‘Site’, ‘Point’, ‘.com’, ‘ ‘, ‘reader’),
add = sum(1, 2, 3);

// output
console.log( hello(spr) );
console.log( ‘total:’, add );

The result of running deno run ./index.js:

$ deno run ./index.js

Hello SitePoint.com reader!
total: 6

The dependencies used by index.js can be examined with deno info ./index.js:

$ deno info ./index.js

local: /home/deno/testing/index.js
type: JavaScript
deps:
file:///home/deno/testing/index.js
└── file:///home/deno/testing/lib.js

Similarly, the dependencies required by any module URL can be examined, although be aware the module will be downloaded and cached locally on first use. For example:

$ deno info https://deno.land/std/hash/mod.ts

Download https://deno.land/std/hash/mod.ts
Download https://deno.land/std@0.65.0/hash/mod.ts
Download https://deno.land/std@0.65.0/hash/_wasm/hash.ts
Download https://deno.land/std@0.65.0/hash/hasher.ts
Download https://deno.land/std@0.65.0/hash/_wasm/wasm.js
Download https://deno.land/std@0.65.0/encoding/hex.ts
Download https://deno.land/std@0.65.0/encoding/base64.ts
deps:
https://deno.land/std/hash/mod.ts
└─┬ https://deno.land/std@0.65.0/hash/_wasm/hash.ts
├─┬ https://deno.land/std@0.65.0/hash/_wasm/wasm.js
│ └── https://deno.land/std@0.65.0/encoding/base64.ts
├── https://deno.land/std@0.65.0/encoding/hex.ts
└── https://deno.land/std@0.65.0/encoding/base64.ts

For further information, see the Deno Manual: Dependency Inspector.

Linter (Syntax Checker)

Deno provides a linter to validate JavaScript and TypeScript code. This is an unstable feature which requires the –unstable flag, but no files will be altered when it’s used.

Linting is useful to spot less obvious syntax errors and ensure code adheres with your team’s standards. You may already be using a linter such as ESLint in your editor or from the command line, but Deno provides another option in any environment where it’s installed.

To recursively lint all .js and .ts files in the current and child directories, enter deno lint –unstable:

$ deno lint –unstable

(no-extra-semi) Unnecessary semicolon.
};
^
at /home/deno/testing/lib.js:13:1

Found 1 problem

Alternatively, you can specify one or more files to limit linting. For example:

$ deno lint –unstable ./index.js
$

For further information, see the Deno Manual: Linter. It includes a list of rules you can add to code comments to ignore or enforce specific syntaxes.

Test Runner

Deno has a built-in test runner for unit-testing JavaScript or TypeScript functions.

Tests are defined in any file named <something>test with a .js, .mjs, .ts, .jsx, or .tsx extension. It must make one or more calls to Deno.test and pass a test name string and a testing function. The function can be synchronous or asynchronous and use a variety of assertion utilities to evaluate results.

Create a new test subdirectory with a file named lib.test.js:

// test lib.js library

// assertions
import { assertEquals } from ‘https://deno.land/std/testing/asserts.ts’;

// lib.js modules
import { hello, sum } from ‘../lib.js’;

// hello function
Deno.test(‘lib/hello tests’, () => {

assertEquals( hello(‘Someone’), ‘Hello Someone!’);
assertEquals( hello(), ‘Hello Anonymous!’ );

});

// sum integers
Deno.test(‘lib/sum integer tests’, () => {

assertEquals( sum(1, 2, 3), 6 );
assertEquals( sum(1, 2, 3, 4, 5, 6), 21 );

});

// sum strings
Deno.test(‘lib/sum string tests’, () => {

assertEquals( sum(‘a’, ‘b’, ‘c’), ‘abc’ );
assertEquals( sum(‘A’, ‘b’, ‘C’), ‘AbC’ );

});

// sum mixed values
Deno.test(‘lib/sum mixed tests’, () => {

assertEquals( sum(‘a’, 1, 2), ‘a12’ );
assertEquals( sum(1, 2, ‘a’), ‘3a’ );
assertEquals( sum(‘an’, null, [], ‘ed’), ‘annulled’ );

});

To run all tests from all directories, enter deno test. Or run tests stored in a specific directory with deno test <dir>. For example:

$ deno test ./test

running 4 tests
test lib/hello tests … ok (4ms)
test lib/sum integer tests … ok (2ms)
test lib/sum string tests … ok (2ms)
test lib/sum mixed tests … ok (2ms)

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out (11ms)

$

A –filter string or regular expression can also be specified to limit tests by name. For example:

$ deno test –filter “hello” ./test

running 1 tests
test lib/hello tests … ok (4ms)

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out (5ms)

Longer-running tests can be stopped on the first failure by passing a –failfast option.

For further information, see the Deno Manual: Testing. A few third-party test modules are also available, including Merlin and Ruhm, but these still use Deno.test beneath the surface.

Continue reading
How to Use Deno’s Built-in Tools
on SitePoint.

The Complete Guide to Windows Terminal

Original Source: https://www.sitepoint.com/windows-terminal/?utm_source=rss

In this article, we’ll explore Windows Terminal, the ideal accompaniment to WSL2. It’s fast, configurable, looks great, and offers all the benefits of both Windows and Linux development.

Windows has fully embraced Linux, and WSL2 makes it a seamless pleasure.

Your distro’s terminal can be accessed by:

clicking its Start menu icon
entering wsl or bash at a Powershell or command prompt
using a third-party terminal option such as Cmder, ConEmu, and Hyper with a profile which launches %windir%system32bash.exe ~
setting Linux as the default shell in VS Code by pressing Ctrl + Shift + P and typing/choosing Terminal: Select Default Shell, and selecting WSL Bash.

Windows Terminal offers a further choice, but you won’t regret installing it. The new application features:

support for WSL2, SSH, Powershell, cmd and other command lines
multiple tabs and split panes
configurable themes, background images, and transparency effects
a search box
custom key bindings
GPU accelerated text rendering
a great-looking new font, Cascadia Code
low resource usage (typically 10MB per tab)
auto-updating (if using the Microsoft Store)
good documentation
and it’s open source!

Windows Terminal

How to Install Windows Terminal

The easiest way to install Windows Terminal is via the Microsoft Store:

ms-windows-store://pdp/?ProductId=9n0dx20hk701

If this link fails, try opening the Microsoft Store in your browser or launching the Microsoft Store app from the Windows Start menu and searching for “Terminal”.

Note: be careful not to select the earlier “Windows Terminal Preview” application.

Windows Terminal at the Microsoft Store

Hit Get and wait a few seconds for installation to complete.

If you don’t have access to the Store, you can download the latest release from GitHub.

The Windows Terminal app icon is now available in the Windows Start menu. For easier access, right-click the icon and choose Pin to Start or More, followed by Pin to taskbar.

Getting Started with Windows Terminal

When it’s first run, Windows Terminal starts with Powershell as the default profile. A drop-down menu is available to launch other tabs and access the settings:

Windows Terminal start

Terminal automatically generates profiles for all WSL distros and Windows shells you have installed, although it’s possible to disable generation in the global settings.

Managing Tabs and Panes

Open a new tab for the default profile by clicking the + icon or Ctrl + Shift + T. To open a tab for a different profile, choose it from the drop-down menu or press Ctrl + Shift + N, where N is the profile’s number.

Press Alt + Shift + D to duplicate and split the pane. The active pane is split in two along the longest axis each time it is used:

Windows Terminal split panes

To force creation of a:

vertical pane, press Alt + Shift + +, or
horizontal pane, press Alt + Shift + –

To open another profile in a new pane, hold down the Alt key when choosing it from the drop-down menu.

Hold down Alt and use the cursor keys to switch between active panes from the keyboard. The size of a pane can be adjusted by holding Alt + Shift and using the cursor keys to resize accordingly.

Tabs can be renamed by double-clicking the text. You can also change the name or color by right-clicking the tab and choosing a menu option:

Windows Terminal tab name and color

This only affects the current tab; it doesn’t permanently change the profile.

To close the active pane or tab, press Alt + Shift + W or enter the terminal’s standard exit command (usually exit).

Text size

The text size of the active terminal can be resized with Ctrl + + and Ctrl + -. Alternatively, hold down Ctrl and scroll the mouse wheel.

Scrolling

Use the scroll bar to navigate through the terminal output. Alternatively, hold down Ctrl and press cursor up, cursor down, Page Up or Page Down to navigate using the keyboard.

Search

Press Ctrl + Shift + F to open the search box:

Windows Terminal search

Enter any term then use the up and down icons to search the terminal output. Click the Aa icon to activate and deactivate exact-case matching.

Copy and Paste

By default, copy and paste are bound to Ctrl + Shift + C and Ctrl + Shift + V respectively, although Ctrl + C and Ctrl + V will also work.

Note: be wary that Ctrl + C can terminate a Linux application, so using Shift is advisable.

An automatic copy-on-select option is available in the global settings, and you can also paste the current clipboard item by right-clicking the mouse.

Settings

Settings are accessed from the drop-down menu or Ctrl + , (comma). The configuration is defined in a single settings.json file, so you may be prompted to choose a text editor. VS Code is a great choice, although Notepad is fine if you’re happy to edit without color-coding and syntax checking.

settings.json controls:

global settings, which apply to all profiles
profile settings, which define profiles
custom color scheme settings, and
keybinding settings

The file uses the following format:

// This file was initially generated by Windows Terminal
{

// general settings, e.g.
“initialRows”: 40,

// profile settings
“profiles”:
{

“defaults”:
{
// settings that apply to all profiles
}
“list”:
[
// list of individual profiles, e.g.
{
“guid”: “{81d1dceb-c123-5678-90a1-123abc456def}”,
“name”: “Windows PowerShell”,
“commandline”: “powershell.exe”
},
{
“guid”: “{91d1dceb-c123-5678-90a1-123abc456def}”,
“name”: “Ubuntu”,
“source”: “Windows.Terminal.Wsl”
}
]

}

// custom color schemes, e.g.
“schemes”: [
{
“name”: “My new theme”,
“cursorColor”: “#FFFFFF”,
“selectionBackground”: “#FFFFFF”,
“background” : “#0C0C0C”,
“foreground” : “#CCCCCC”
}
],

// custom key bindings, e.g.
“keybindings:
[
{ “command”: “find”, “keys”: “ctrl+shift+f” }
]

}

Defaults are defined in defaults.json. Open it by holding down Alt when clicking Settings in the drop-down menu.

Warning: do not change the defaults file! Use it to view default settings and, where necessary, add or change a setting in settings.json.

Global Settings

The following global settings are the most useful, although more are documented in the Windows Terminal documentation.

“defaultProfile” defines the GUID of the profile used as the default when Windows Terminal is launched.

Set “copyOnSelect” to true to automatically copy selected text to your clipboard without having to press Ctrl + Shift + C.

Set “copyFormatting” to false to just copy plain text without any styling. (I wish this were the default for every application everywhere!)

Set “initialColumns” and “initialRows” to the number of characters for the horizontal and vertical dimensions.

“tabWidthMode” can be set to:

“equal”: each tab is the same width (the default)
“titleLength”: each tab is set to the width of its title, or
“compact”: inactive tabs shrink to the width of their icon.

“disabledProfileSources” sets an array which prevents profiles being automatically generated. For example:

“disabledProfileSources”: [
“Windows.Terminal.Wsl”,
“Windows.Terminal.Azure”,
“Windows.Terminal.PowershellCore”
],

This would disable all generated profiles; remove whichever ones you want to retain.

Continue reading
The Complete Guide to Windows Terminal
on SitePoint.

150+ Amazing Examples of CSS Animation & Effects

Original Source: http://feedproxy.google.com/~r/1stwebdesigner/~3/lPBdpEDPD0U/

We have compiled a huge collection of amazing CSS effects for you to check out. Have a look and use these examples to help you learn the nitty-gritty details so you can create more beautiful and engaging web sites. When you’re done, you can also take a look at our other articles on CSS effects for even more ideas. Enjoy!

Web Designer Toolbox: Unlimited Downloads Starting at $16.50/Month

Website Kits

Website Kits
16,000+ Web Designs

UX & UI Kits

UX & UI Kits
14,000+ UX & UI Kits

Graphic Assets

Graphic Assets
33,000+ Graphics

DOWNLOAD NOW
Envato Elements

1. Swatch Book Tutorial with CSS3 & jQuery [Demo]

CSS Effects - Swatch Book with CSS3 and jQuery

2. 3D Thumbnail Hover Effects [Demo]

CSS Effects - 3D Thumbnail Hover Effects

3. Stunning Menu Tutorial in CSS3 [Demo]

CSS Effects

4. Collection of Cool CSS Hover Effects

CSS Effects - Hover_css_-_A_collection_of_CSS3_powered_hover_effects

This awesome website consists of more than 100 different CSS effects like 2D transitions, background transitions, icon CSS effects, border transitions, shadow and glow transitions, speech bubble CSS effects, and cool CSS curl effects. Check it out!

5. Collection of CSS Animation Examples

CSS Effects - Animate_css

You will find more than 50 CSS animation examples on this simple website. Text CSS animation effects like bouncing, fading, flipper, zoom entrances, and more.

6. Mastering CSS3 Multiple Backgrounds

CSS Effects - Mastering CSS3 Multiple Backgrounds

7. Custom Drop-Down List Styling [Demo]

CSS Effects - Custom Drop-Down List Styling

8. Quickly Build a Swish Teaser Page With CSS3 [Demo]

CSS Effects

9. Growing Thumbnails Portfolio [Demo]

CSS Effects - Growing Thumbnails Portfolio

10. Button Switches with Checkboxes & CSS3 Fanciness [Demo]

CSS Effects - Button Switches with Checkboxes and CSS3 Fanciness

11. CSS3 Filters: Altering HTML & Images with Just CSS

12. 3D Flipping Circle with CSS3 & jQuery [Demo]

3D Flipping Circle with CSS3 and jQuery

13. Cool Product Showcase with CSS3 [Demo]

Making an Impressive Product Showcase with CSS3

14. CSS-Only Responsive Layout with Smooth Transitions [Demo]

CSS-Only Responsive Layout with Smooth Transitions

15. Creating an Animated 3D Bouncing Ball with CSS3 Effect [Demo]

Creating an Animated 3D Bouncing Ball with CSS3

16. Making a Page Flip Magazine with turn.js [Demo]

Making a Page Flip Magazine with turn.js

17. Animated 3D Bar Chart with CSS3 [Demo]

Animated 3D Bar Chart with CSS3

18. A Pure CSS3 Cycling Slideshow Effect [Demo]

A Pure CSS3 Cycling Slideshow

19. Annotation Overlay Effect with CSS3 Effect [Demo]

Annotation Overlay Effect with CSS3

20. Create an Interactive Graph Using CSS3 & jQuery [Demo]

Create an Interactive Graph using CSS3 & jQuery

21. Fluid CSS3 Slideshow with Parallax Effect [Demo]

Fluid CSS3 Slideshow with Parallax Effect

22. Create a Sticky Note Effect with CSS3 & HTML5 [Demo]

Create a Sticky Note Effect with CSS3 and HTML5

23. Animated Content Tabs with CSS3 [Demo]

Animated Content Tabs with CSS3

24. Swishy CSS3 Navigation Effect [Demo]

Swishy CSS3 navigation

25. Rotating Words with CSS Animation Examples [Demo]

Rotating Words with CSS Animations

26. Create an Accordion Menu in Pure CSS3 [Demo]

Create Accordion Menu in Pure CSS3

27. Login & Registration Form with HTML5 & CSS3 [Demo]

Login and Registration Form with Html5 and CSS3

28. An Introduction to the CSS Flexbox Module [Demo]

An Introduction to the CSS Flexbox Module

29. Responsive Content Navigator with CSS3 [Demo]

Responsive Content Navigator with CSS3

30. Recreating the IBM Lotusphere Logo in CSS3 [Demo]

Recreating the IBM Lotusphere logo in CSS3

31. Apple-like Login Form with CSS 3D Transforms [Demo]

Apple-like Login Form with CSS 3D Transforms

32. CSS3 Dropdown Menu Tutorial [Demo]

CSS3 Dropdown Menu

33. Original Hover Effects with CSS3 [Demo]

Original Hover Effects with CSS3

34. CSS3 Menu Navigation Effect [Demo]

CSS3 Menu Navigation Effect

35. CSS3 with jQuery Reverse Animation [Demo]

CSS3 with jQuery / Reverse Animation

36. CSS3 Progress Bars [Demo]

CSS3 Progress Bars

37. PHP & CSS3 Powered About Page [Demo]

Creating a PHP and CSS3 Powered About Page

38. Create a Beautiful Icon with CSS3 [Demo]

Create a Beautiful Icon with CSS3

39. Create 3D Ribbons Using CSS3 [Demo]

How To Create Depth And Nice 3D Ribbons Only Using CSS3

40. Create an Upload Form Using CSS3, HTML5 & jQuery [Demo]

Create an Upload Form using CSS3, HTML5 and jQuery

41. Create an Video Player with jQuery, HTML5 & CSS3 [Demo]

Create an Video Player in jQuery, HTML5 & CSS3

42. Master the New CSS Layout Properties [Demo]

Master the new CSS layout properties

43. Image Accordion with CSS3 [Demo]

44. Modern Lightbox with CSS3 & JavaScript [Demo

Creating a Modern Lightbox with CSS3 and JavaScript

45. Create a CSS Password Strength Meter [Demo]

Create a Beautiful Password Strength Meter

46. Fullscreen Slit Slider with jQuery & CSS3 [Demo]

Fullscreen Slit Slider with jQuery and CSS3

47. The Facebook Loading Animation [Demo]

The Facebook loading animation

48. CSS3 Clock With jQuery

Use the basic features of CSS3 Transform: rotate. And the combination of Javascript frameworks like jQuery can produce a cool CSS3 clock.

49. Analogue Clock CSS Effect

Analogue clock created using webkit transition and transform CSS. JavaScript is only used to pull in the current time.

50. 3D Cube That Rotates Using Arrow Keys

You can use up, down, left, and right keys to navigate the 3D cube. This 3D cube is built using -webkit-perspective, -webkit-transform and -webkit-transition.

51. Multiple 3D Cubes (Slide In/Out) CSS Effect

Multiple 3D Cubes using CSS3 and proprietary “transform” and “transition” properties. I thought it was amazing. You can see the writing on the 3D object.

52. CSS3 Accordion Tutorial

An accordion effect using only CSS. Proprietary animation in WebKit based browsers.

53. Auto-Scrolling Parallax CSS Animation Effect

Auto-Scrolling Parallax is an animated parallax effect using WebKit’s CSS transition property, no need for JavaScript.

54. Isocube Image CSS Effect

Isocube is like 3DCube but a little different. Isocube can load images on one side.

55. Image Gallery with CSS

56. Matrix

The Matrix is one of the best sci-fi films of all time. CSS3 capable of making such an amazing animated film made

57. 7 Javascript-Effect Alternatives Using CSS3

Seven examples of alternatives to the Javascript effect using CSS3. Various effects such as Fade Block, Block Pulsate, Nudge, Expand Block, Block Bounce, Spin Block, and Accordion are covered here.

58. Image Hover Effects

Image Hover Effects is an example of using CSS to replace Javascript. The image will shrink when you put your mouse pointer on top of it.

59. Turning Coke Can (Control With Scrollbar)

60. 3D Meninas

61. Polaroid Gallery

Polaroid Gallery is animated pile of photographs utilizing a ton of new CSS3 commands. It’s interesting to watch: when your mouse cursor is above an image, it will enlarge.

62. Space

63. CSS Mac Dock

Take a list of links and change them into an OS X icon dock. It’s nothing short of amazing.

64. Drop-In Modals

With CSS3 effects and property Drop In Modals, you can make quick animations and subtle design cues.

.

65. Sliding Vinyl

The vinyl effect can be created by using CSS3 transitions and a little HTML. This can make for a standard album cover with an eye-catching style

66. Zooming Polaroids in CSS3

Polaroids lets you display images in boxes that are shuffled and spun as though lying in a pile. It relies on CSS3 techniques to create. You can also insert text and an alt attribute.

67. Animated Rocket CSS Tutorial

Animated Rocket uses CSS effects to transform the appearance of an element in the browser, by moving, rotating, or through other means.

68. Poster Circle

Poster Circle. is an animated spinning column consisting of a row of colored boxes and text . The overall effect is cool and undeniably dizzying.

69. Morphing Cubes

Morphing Cubes can be used to display your most interesting content using 3D transformations, animations, and transitions.

70. Animated Polaroid Gallery

This is the example of another Polaroid Gallery. Piles of images appear at random and when the cursor hovers over an image, it enlarges.

71. Spotlight Cast Shadow CSS Effect

When the cursor moves, it’s like a lamp spotlight leading up to the writing and casts a shadow.

72. Colorful Clock

Colorful Clock is a colorful jQuery & CSS3 effect for creating countdowns or timers.

73. CSS and jQuery Lightbox Gallery

Lightbox Gallery is an awesome image gallery which leverages the latest CSS3 and jQuery techniques. Lightbox Gallery uses jQuery, jQuery UI (for the drag and drop) and the fancybox jQuery plugin for lightbox display capability in addition to PHP and CSS for interactivity and styling.

74. Elastic Thumbnail Menu

Elastic Thumbnail Menu is an alternative method for smoothing the menu, in particular by increasing the menu items when the mouse is hovering over it.

75. Coverflow CSS Animation Example

This animation mimics Apple’s style and combines CSS transformations and jQueryUI. This one truly animates between two half states, resulting in a slider like that featured in iTunes.

76. jQuery DJ Hero

DJ Hero uses an interesting combination of CSS3 with jQuery. You can use on-screen controls to control the pace.

77. Dynamic Stacking Cards

This effect features a dynamic stack of index cards that simply use HTML and CSS3 features such as change and transition (for the dynamic effects) and the @ font-face, box-shadow and border-radius (for styling).

78. Another Image Gallery

This is an example of another image gallery that uses the CSS3 transforms property and property transitions.

79. Snow Stack (Control With Arrow Keys)

80. Animated Pricing Column

CSS3 animation can also be used in the package list price of a product. Animated Column Pricing can be applied in such cases.

81. Slick jQuery Menu

Slick jQuery Menu is achieved through a combination of CSS3 and jQuery.

82. CSS Tabs Without Javascript

83. Tab Menus Without Javascript

84. SVG Fisheye Menu

CSS animation can animate almost any property on the item and do funny things, such as rotate and tilt.

85. Falling Leaves

Like Autumn. Animated falling leaves are made using CSS3.

86. Rotating Gallery

This is an image gallery with a rotating build with CSS transform transitions and CSS features. To see the effects of rotation, click the small image

87. Dropdown Menu

Dropdown Menu is a very nice navigation menu made using the CSS3 transition property.

88. Star Wars Crawl

Star Wars opening crawl, using only HTML & CSS. It only works in Snow Leopard in Safari 4.0.4 and the WebKit.

89. Sticky Notes

90. Snowflakes

91. Another Fisheye CSS Effect

This is another fisheye that uses CSS3.

92. Frame-by-Frame Animation

The first demonstration requires you to keep clicking the image to see the next frame, and it wraps around to the start when you reach the last frame. The second demonstration just needs you to keep the mouse moving over the image in MOST browsers. But the BIG drawback to this method is that the speed of movement of the mouse governs the speed of animation.

93. AT-AT Walker

This AT-AT Walker is not flash-based but only CSS3. Amazing!

94. Another Accordion

95. Dynamic Presentation Without Flash in CSS

96. Smoothie Slider Menu

97. Magic Animation CSS Effects

cool css effects

50 Powerful CSS3 Effect Tutorials

Now that most browsers support the majority of the features CSS3 offers, it’s important for developers to catch up and be aware of the power of CSS3. Photoshop and JavaScript are slowly losing their significance because it’s become possible to echo the same results with just a few lines of code easier and faster than ever.

The techniques that were new a year ago have become standard now. CSS3 is evolving fast and for that reason we’ve prepared 50 cool CSS3 tutorials.

CSS Typography Text Effects
1. Rotating Words with CSS Animations

Rotating-words-css3-text-effect-tutorials

The idea in this tutorial is to rotate a part of a sentence. You’ll be “exchanging” certain words of that sentence using CSS animations.

2. Texturize web type with CSS

Texture-css3-text-effect-tutorials

In this tutorial you’ll walk through texturizing type from scratch – beginning with basic HTML and CSS, then creating a semi-transparent texture in Photoshop and implementing it on some headline text within a web page. You’ll finish it off by adding some extra CSS and JavaScript love.

3. Arctext.js – Curving Text with CSS3 and jQuery

Arctext-css3-text-effect-tutorials

While CSS3 allows us to rotate letters, it is quite complicated to arrange each letter along a curved path. Arctext.js is a jQuery plugin that let’s you do exactly that. Based on Lettering.js, it calculates the right rotation of each letter and distributes the letters equally across the imaginary arc of the given radius. This is not a tutorial but you can play with the plugin, break it down and learn new techniques.

4. How To Add Text Gradients With CSS

Gradient-css3-text-effect-tutorials

In this tutorial you are going to look at some of the new CSS3 features for dealing with text colors.

5. Everything You Need To Know About CSS3 Text Shadow Effects

Shadow-css3-text-effect-tutorials

With CSS3, a whole host of text shadow effects are available for us to play with. In this article, you’ll see some of the effects you can make with relatively little CSS code.

6. Add Texture to Your Web Fonts Using a Magic Pill

Texture-font-css3-text-effect-tutorials

Implement a subtle texture over text with just a few lines of code.

7. CSS3 Properties to Handle Text and Word Wrapping

Properties-css3-text-effect-tutorials

The word-wrap property has been removed from the CSS3 spec but other related properties have been added. Find out what they are and how to use them.

CSS Navigation and Sliders
1. Create a CSS3 Dropdown Menu

Dropdown-css3-text-effect-tutorials

In this tutorial you will learn how to code a pure CSS3 navigation dropdown menu.

2. Pure CSS3 LavaLamp Menu

Lavalamp-css3-text-effect-tutorials

You probably have already seen animated menus with the LavaLamp effect (based on jQuery plugin). In this tutorial you’ll learn how to repeat the same behavior using only CSS3.

3. Accordion with CSS3

Accordion-css3-text-effect-tutorials

Using hidden inputs and labels, you will create a CSS-only accordion that will animate the content areas on opening and closing.

4. Responsive Content Navigator with CSS3

Content-css3-text-effect-tutorials

This tutorial will show you how to create a content navigator with CSS only. The idea is to have several slides or content layers that will be shown or hidden using the :target pseudo-class.

5. Create a Content Accordion in Pure CSS3

Content-accordion-css3-text-effect-tutorials

This tutorial will show you how to create a pure CSS3 content accordion. This will work on all browsers and devices that support the :target selector.

6. Page Transitions with CSS3

Transitions-css3-text-effect-tutorials

In the last few years, we’ve seen a lot of single page websites, most of them using JavaScript for some transition effects. This tutorial teaches you how you can have your own, but instead using CSS transitions and the :target property to do all the magic.

7. Image Accordion with CSS3

Image-accordion-css3-text-effect-tutorials

In this tutorial, you will create an image accordion that will expand an item on click. Using the sibling combinators and a nested structure you can control the opening of the items/slides with radio buttons.

8. A Pure CSS3 Cycling Slideshow

Cycle-slider-css3-text-effect-tutorials

Thanks to CSS3, we can create effects and animations without using JavaScript. We must be careful to avoid abusing CSS3 because old browsers do not support all of its properties. In any case, we all see the potential of CSS3, and this article will discuss how to create an infinitely looping slider of images using only CSS3 animation.

9. Orman Clark’s Vertical Navigation Menu: The CSS3 Version

Vertical-css3-text-effect-tutorials

Recreate Orman Clark’s Vertical Navigation Menu with CSS3 and jQuery while using the minimum amount of images possible.

10. Google Play’s Minimal Tabs with CSS3 & jQuery

Tabs-css3-text-effect-tutorials

In this article you’ll learn how to build some new CSS3 and  jQuery tabs inspired by Google Play‘s design.

11. Interactive Menu with CSS3 & jQuery

Interactive-css3-text-effect-tutorials

In this tutorial you’ll learn how to create an interactive menu using CSS3 goodness and jQuery’s power.

12. Create a Vertical Accordion Menu using CSS3 Tutorial

Accordion-2-css3-text-effect-tutorials

This tutorial will show you how to create an accordion menu using CSS3. There are many CSS3 accordion tutorials around on the web, this version is using the :target pseudo-class and works on browsers that support the CSS3 properties.

13. Create an Image Slider Using jQuery & CSS3

Slider-2-css3-text-effect-tutorials

In this tutorial you will be creating a slider with “Nivo Slider jQuery Script” and CSS3.

14. CSS3 Breadcrumbs

Breadcrumb-css3-text-effect-tutorials

A breadcrumb navigation allow users to know where they are in a hierarchical structure and navigate back to higher-level pages. In this tutorial you’ll learn how to create your own cool CSS3 breadcrumbs.

15. Responsive CSS3 Slider

Responsive-css3-text-effect-tutorials

CSS3 Responsive Slider is, as the name implies, a responsive CSS3 slider without Javascript. The actual slider is much like any JavaScript slider. It floats all of the content areas (articles) next to each other. Not a tutorial but you should check out this awesome slider.

Creative CSS Layouts
1. Quickly Build a Swish Teaser Page With CSS3

Teaser-css3-text-effect-tutorials

In this tutorial, you’ll learn how to build a teaser page using just CSS, no images or even a Photoshop design.

2. Timeline Portfolio with CSS3 & jQuery

Timeline-css3-text-effect-tutorials

Timeline is a jQuery plugin specializing in showing a chronological series of events. You can embed all kinds of media including tweets, videos, and maps, and associate them with a date. Learn how to tweak the template with some CSS3 tricks.

3. Impressive Product Showcase with CSS3

Showcase-css3-text-effect-tutorials

A product page is any page on your website that showcases a product. It has to describe its features, have some screenshots, and be descriptive. Learn how to create one with CSS3 and a little touch of jQuery.

4. Stacked Elements with CSS3 Pseudo-Elements

Stacks-css3-text-effect-tutorials

Hopefully you’re familiar with the use of the :before and :after pseudo-elements in order to create some interesting effects with CSS. This tutorial will show you how you can create a simple “stacked” look to some images.

5. CSS3 Pricing Table

Table-css3-text-effect-tutorials

This tutorial will teach you how to create this pricing table with the CSS scaling effects. Improve a look of a PSD just by using CSS.

6. Login & Registration Form with HTML5 & CSS3

Form-css3-text-effect-tutorials

In this tutorial, you are going to create two HTML5 forms that will switch between login and registration using the CSS3 pseudo class:target.

7. CSS3 Signup Form

Registration-form-css3-text-effect-tutorials

If you’re about to launch a new web product or you just need to improve the user experience for an existing web form, then this tutorial is for you.

8. Fullscreen Slit Slider with jQuery and CSS3

Slider-css3-text-effect-tutorials

A tutorial on how to create a fullscreen slideshow with a twist: the idea is to slice open the current slide when navigating to the next or previous one. Using jQuery and CSS animations you can create unique slide transitions.

9. Tagtastic Tag Cloud with CSS Transformations

Tag-cloud-css3-text-effect-tutorials

In this tutorial you’ll be creating Premium Pixels’ Tagtastic Tag Cloud. As an experiment in alternative approaches, you’ll create the tags using gradients, shadows, and (most importantly) CSS transforms, which will form the point of each tag. After completion you’ll have to even take a step further and cater for IE.

10. Build a Quick and Elegant Login Form

Login-css3-text-effect-tutorials

In this tutorial you’re going to code up Orman Clark’s Elegant Login Form using CSS3 and HTML5, plus some of Dan Eden’s CSS Animations to Embellish the Experience.

11. Create a Video Player in jQuery, HTML5 & CSS3

Player-css3-text-effect-tutorials

Create a sleek and functional video player using HTML5 and CSS3.

12. Fancy Image Gallery with CSS3 Transitions

Gallery-css3-text-effect-tutorials

This tutorial will show you how to create a fancy image gallery with CSS3 transitions. The techniques used are mainly CSS3 transitions combined with CSS :hover pseudo-class.

CSS Tips, Tricks & Techniques
1. Control Image Aspect Ratios with CSS3

Aspect-ratio-css3-text-effect-tutorials

Making media display consistently on your site can be a problem, especially with multiple content authors. Opera’s Chris Mills shows you how object-fit and object-position can solve it.

2. Filter Functionality with CSS3

Filter-css3-text-effect-tutorials

Using the general sibling combinator and the :checked pseudo-class, you can toggle states of other elements by checking a checkbox or a radio button. This tutorial will be exploring those CSS3 properties by creating a experimental portfolio filter that will toggle the states of items of a specific type.

3. Creating an Animated 3D Bouncing Ball with CSS3

Bouncing-ball-css3-text-effect-tutorials

In this tutorial, you’ll learn how to create an animated 3D bouncing ball using only CSS3 transitions, animations, and shadow effects.

4. Perfectly Rotate and Mask Thumbnails With CSS3

Thumbnails-css3-text-effect-tutorials

Have you ever seen a website showcasing image thumbnails that are slightly rotated? It’s a simple effect that adds a layer of visual personality. That said, if you’re not achieving the rotation effect with CSS, you’re working too hard. Learn how to do it right!

5. Transforming Elements in 3D Using CSS3

Transform-css3-text-effect-tutorials

In this tutorial you will be driven through the basics of rotating in three dimensions and will combine these transforms with the scale and translate transforms for more complex results. You will also add a basic level of interaction to animate the effects as the user interacts with the page.

6. Thumbnail Proximity Effect with jQuery & CSS3

Proximity-css3-text-effect-tutorials

This tutorial will show you how to create a neat thumbnail proximity effect with jQuery. The idea is to scale thumbnails when hovering over them and also scale their neighboring thumbnails proportionally to their distance. You’ll also make a description appear.

7. Tutorial for a CSS3 Animated Hover Effect

Hover-css3-text-effect-tutorials

This tutorial will show you a quick and easy way to incorporate a shine effect transition to your images with CSS3, useful in making your user interface elements look like they’re a real Polaroid photo.

8. CSS3 Image Styles

Styles-accordion-css3-text-effect-tutorials

Learn how to style the image element with CSS3 inset box-shadow and border-radius so it works for responsive design.

9. Code a Set of Animated App Store Buttons With CSS

Buttons-css3-text-effect-tutorials

In this tutorial you’ll learn how to use some fancy techniques like how to incorporate icon fonts into a design and how to insert objects using pseudo elements.

10. Direction-Aware Hover Effect with CSS3 and jQuery

Direction-hover-css3-text-effect-tutorials

create a direction-aware hover effect using CSS3 and jQuery. The idea is to slide in an overlay from the direction we are moving with the mouse.

11. Create CSS3 Buttons

Buttons-2-css3-text-effect-tutorials

In this beginner tutorial you will be making some cool CSS3 buttons.

12. Enhance Required Form Fields with CSS3

Fields-css3-text-effect-tutorials

Enhance required fields in a form with this little effect. The idea is to allow better visibility for obligatory fields while de-emphasizing optional ones.

13. Animated Twitter Bird

Twitter-css3-text-effect-tutorials

Create an animated bird that animates each time you hover it. This is a very simple CSS3 trick and doesn’t require any advanced knowledge of HTML or CSS.

14. The Multi Column Layout and How it Will Change Web Design

Multi-column-css3-text-effect-tutorials

CSS3 Multi Column Module is perhaps one of the most interesting and exciting things that has happened to CSS in a long time. It’s not a gimmick or design trick like box-shadow or animation. It’s a real, tangible device which we can use to make designing websites easier. Check out what it does and see examples.

15. CSS3 Ordered List Styles

Lists-css3-text-effect-tutorials

In this article you’ll learn how to add some CSS3 fine tuning to your ordered lists, using a semantic approach.

16. Showing Product Information With CSS3 3D Transform

3d-css3-text-effect-tutorials

This tutorial will show you how to show product information with cube style using CSS3 3D Transform.

Editor’s note: This post was last updated on August 19, 2020