Showcase Color Scheme

Arpita, 20th Feb 2023 Color is an integral part of web design, and choosing the right color scheme can greatly impact the look and feel of a website. It is a powerful tool in web design, and it can greatly influence the way users perceive and interact with a website. The `fastn` color-scheme framework provides a simple and powerful way to define color schemes and apply them to a website. In this showcase, we will present different sections using different color schemes to highlight how minimal changes are required to switch from one color scheme to another. Hence achieve the impact the colors have on the website's design and the emotion they evoke. Take a look at the following color scheme cards:
Winter
Color scheme
I love colors!
Color can have a significant impact on the human brain and can evoke various emotions and responses.
Dark flame
Color scheme
I love colors!
Color can have a significant impact on the human brain and can evoke various emotions and responses.
Forest
Color scheme
I love colors!
Color can have a significant impact on the human brain and can evoke various emotions and responses.
Sunset
Color scheme
I love colors!
Color can have a significant impact on the human brain and can evoke various emotions and responses.
There are following notable things: - All of the scheme cards look identical except for the color. This demonstrates the effect that color has on the look and feel of a website. - Both dark mode and light mode are supported.

Code changes required

How many lines of code change were required to make this possible? The answer is only one. To understand this, let's examine the code of interest for the above cards. To initialize the card, all we need to do is invoke the `color-display` component:
Invoking `color-display` component
-- color-display:
Lang:
ftd
Then how can we achieve different color scheme? To achieve different color schemes, First, we import the corresponding color scheme package. Then we wrap the call to the `color-display` component in another container that contains the colors from the imported color scheme package. This color, then, is inherited by `color-display`.
Using forest cs
-- import: fastn-community.github.io/forest-cs

-- ftd.column:
colors: $forest-cs.main

-- color-display:

-- end: ftd.column
Lang:
ftd
Similarly, the rest of the color scheme packages are imported and referred by their respective containers that contain the `color-display` component.

Color Variable

As shown in the code snippet above, we are passing a reference of the `forest-cs .main` variable from the `forest-cs` module to the `colors` property of `ftd .column`. The type of `forest-cs.main` variable is `ftd.color-scheme`. Let's take a closer look at the structure of `ftd.color-scheme`.
`ftd` module
-- record color-scheme:
ftd.background-colors background:
ftd.color border:
ftd.color border-strong:
ftd.color text:
ftd.color text-strong:
ftd.color shadow:
ftd.color scrim:
ftd.cta-colors cta-primary:
ftd.cta-colors cta-secondary:
ftd.cta-colors cta-tertiary:
ftd.cta-colors cta-danger:
ftd.pst accent:
ftd.btb error:
ftd.btb success:
ftd.btb info:
ftd.btb warning:
ftd.custom-colors custom:

-- record background-colors:
ftd.color base:
ftd.color step-1:
ftd.color step-2:
ftd.color overlay:
ftd.color code:

-- record cta-colors:
ftd.color base:
ftd.color hover:
ftd.color pressed:
ftd.color disabled:
ftd.color focused:
ftd.color border:
ftd.color text:

-- record pst:
ftd.color primary:
ftd.color secondary:
ftd.color tertiary:

-- record btb:
ftd.color base:
ftd.color text:
ftd.color border:

-- record custom-colors:
ftd.color one:
ftd.color two:
ftd.color three:
ftd.color four:
ftd.color five:
ftd.color six:
ftd.color seven:
ftd.color eight:
ftd.color nine:
ftd.color ten:
Lang:
ftd
As seen above, `ftd.color-scheme` is a record of various color fields that are used to specify the colors to be applied to various elements on the web page. It is recommended in `fastn` to utilize this color record and establish the color scheme of your website.

Understanding inheritance

How does the `color-display` component inherits the colors from it's parent? This is achieved through the use of the special keyword `inherited`. The `inherited` keyword gives access to the variables of its ancestors, allowing the component to search for the referred variable starting from its immediate parent, and then moving up to its grandparent and so on. As depicted in the code above, the container `ftd.column` contains a property named `color` where we have passed the reference to `ftd.color-scheme` type variable. It is then inherited by `color-display` component. To illustrate the use of `inherited` references, let us construct a basic component "my-color":
`my-color` component
-- component my-color:

-- ftd.text: Text
padding.px: 20
border-width.px: 10
color: $inherited.colors.text-strong
background.solid: $inherited.colors.background.step-2
border-color: $inherited.colors.border-strong

-- end: my-color
Lang:
ftd
We will then incorporate this component within a container and provide the `sunset-cs` color scheme to it:
Using `my-color` component
-- import: fastn-community.github.io/saturated-sunset-cs as sunset-cs

-- ftd.column:
colors: $sunset-cs.main

-- my-color:

-- end: ftd.column
Lang:
ftd
The output appears as follows:
Output
Text
We can also apply another color scheme, such as `forest-cs`:
Using `my-color` component
-- import: fastn-community.github.io/forest-cs

-- ftd.column:
colors: $forest-cs.main

-- my-color:

-- end: ftd.column
Lang:
ftd
Output
Text
As we can observe, inheritance plays a critical role in giving a unique look and feel to elements. A minor adjustment in the code can lead to a completely altered aspect for the element.

Benefits of using `fastn` Color Scheme:

- **Easy to use**: The `fastn` color scheme framework is designed to be simple and straightforward, making it easy for designers to define and apply color schemes to a website. - **Dynamic and flexible**: With the ability to easily change colors and the use of inheritance, the ftd color scheme framework allows designers to create dynamic and flexible color schemes that can be easily modified as needed. - **Consistent appearance**: By using the `fastn` color scheme framework, designers can ensure a consistent appearance throughout their website, making it easier for users to navigate and interact with the site. - **Centralized Management**: By centralizing the definition of color schemes, this makes it easy for designers to modify and update the color palette in a single location. This helps save time and reduces the risk of inconsistent color usage throughout the application. - **Improved accessibility**: With the ability to create color palettes that meet accessibility standards, the `fastn` color scheme framework helps designers create websites that are accessible to all users. - **Increased brand recognition**: By using a consistent color scheme throughout the website, the `fastn` framework can help to reinforce a company's brand and increase brand recognition. The use of specific colors can also evoke emotions and feelings associated with the brand, helping to create a stronger connection with users. - **Faster development**: The `fastn` color scheme framework allows designers to quickly create color schemes and apply them to a website, reducing the time and effort required to create a professional-looking design. This can also lead to faster development times, helping to get the website up and running more quickly.

Final Thoughts

To wrap up, the impact of color on the visual appeal of a website cannot be overstated. Knowledge of the emotional connotations associated with different color schemes is imperative for designers to make informed decisions when selecting a color palette for their projects. The `fastn` color scheme framework provides a simple and effective approach for defining and implementing color schemes, making it a valuable tool for designers to have in their arsenal.

Support `fastn`!

Enjoying `fastn`? Please consider giving us a star ⭐️ on [GitHub](https://github.com/fastn-stack/fastn) to show your support!
[⭐️](https://github.com/fastn-stack/fastn)

Getting Help

Have a question or need help? Visit our [GitHub Q&A discussion](https://github.com/fastn-stack/fastn/discussions/categories/q-a) to get answers and subscribe to it to stay tuned. Join our [Discord](https://discord.gg/a7eBUeutWD) channel and share your thoughts, suggestion, question etc. Connect with our [community](/community/)!
[💻️](/community/)

Found an issue?

If you find some issue, please visit our [GitHub issues](https://github.com/fastn-stack/fastn/issues) to tell us about it.

Quick links:

- [Install `fastn`](install/) - [Create `fastn` package](create-fastn-package/) - [Expander Crash Course](expander/) - [Syntax Highlighting in Sublime Text](/sublime/)

Join us

We welcome you to join our [Discord](https://discord.gg/a7eBUeutWD) community today. We are trying to create the language for human beings and we do not believe it would be possible without your support. We would love to hear from you.
Copyright © 2023 - [FifthTry.com](https://www.fifthtry.com/)