Webflow empowers designers to build custom websites without writing any code. However, custom code is helpful in adding that extra layer of polish to your website. Tiny code sprinkles can make the difference between a good and exceptional site. If you keep the custom code to the minimum and follow the best practices, then the benefits clearly outweigh the risks.
Note that using custom code in Webflow requires a paid account or a paid site plan.
Custom code can be any element, style or behavior not supported natively by the Webflow visual development environment.
Types of custom code available in…
The fact that Alpine.js initializes almost instantaneously and the code lives directly in element attributes, makes it a perfect fit for Webflow sites.
So, how can you use Alpine.js …
A real-world example.
In my previous article we explored how to use basic Alpine.js features inside Webflow. In this article we will develop an alternative navigation bar for the Slider component:
I would like to present to you a quick tip about working with the tabs component in Vuetify.js. I sometimes need to navigate to a specific tab in the application or want to share a direct tab link with a collaborator.
In order to achieve this, we need to store the information about the current tab in the URL in the browser address bar. A canonical solution involves using nested routes, but sometimes it’s an overkill to create a separate child page for each tab. Thankfully there’s a simpler approach that I quite often end up using.
If the number of rows grows too large, or we are viewing the site on a mobile device, the table may not fit on the screen. If this happens, it can be unclear which column represents what information.
One solution to this problem is to always keep the table header visible when scrolling, and there are a couple of ways we can make this happen.
The simplest solution is to use the data table’s built-in
fixed-header property, which only works if height of the table is defined (see v-data-table documentation for more info):
<v-data-table :headers="headers" :items="data" height="33vh" fixed-header />
Vuetify.js is a Material Design component framework that allows customizing colors easily via themes. However, one color that is missing in the theme config is the background color. In this article we will fix that via CSS variables!
TL;DR — go straight to the final code on Codesandbox:
As described in the official Vuetify.js documentation, it’s possible to choose between a light and dark theme and set the basic colors in the nuxt.config.js file vuetify section:
A short tutorial about building an interactive list component as a simple alternative to drag & drop.
Here’s the component in action:
Vuetify.js is a Material Design component framework that can be easily customized. It allows you to change the colors of all it’s components using a theme. Apart from changing the basic colors, it’s also possible to define new colors, customize each individual color’s lighter / darker variants and change the theme dynamically at runtime.
TL;DR — go straight to the final code:
Vuetify.js is a Material Design component framework that can be easily customized. Apart from color theming, it allows you to change it’s internal variables that control how the CSS stylesheet will be generated. This way you can change the default fonts.
In this example we will be using Nuxt.js — a meta-framework for Vue.js. I have chosen two fonts: Libre Baskerville for body text and Oswald for headers. For simplicity we will retrieve these fonts from Google Fonts service, but you can also opt for self-hosted versions via Typesfaces project (recommended!).
TL;DR — go straight to the final code:
Recently I was faced with a bunch of front end errors occurring only in the production environment. The error reports were coming from Sentry and it was really hard to understand exactly where in the application the error was occurring. I knew I needed to see the code in order to understand what was going on.
The site was generated using a
nuxt generate Nuxt.js command, which caused another, less severe, problem. Each error was treated as unique by Sentry, since they were coming from files with different names (based on hash).
Here’s what I saw in Sentry:
Full-Stack Developer / Agilist / Free and Open Source Software Fan.