Web Font Subset Generator - Online Reduce Font Size
Enter the characters you need and generate a smaller font file from a TTF/OTF. Keep only the glyphs you use. Using harfbuzz WASM.
UD5 Toolkit
Interactive demo comparing display: flex (block-level) vs display: inline-flex (inline-level) container behavior
inline-flex containers flow inline and can sit next to each other. flex containers are block-level — each forces a new line.
flex behaves like a block element — it takes the full width of its parent and forces a line break. inline-flex behaves like an inline element — it only takes the width its children need and flows within text.
A flex container stretches to 100% of its parent's content width. An inline-flex container shrinks to fit — its width equals the total size of its flex items plus gaps and padding.
Use flex for full-width layout sections. Use inline-flex for inline components like button groups, icon+text pairs, tag lists, or when you need multiple flex containers on the same row.
display: flex and display: inline-flex?
display: flex makes the container a block-level element — it takes up the full available width and forces a line break before and after. display: inline-flex makes the container an inline-level element — it only occupies the space its children need and can sit alongside other inline elements on the same line. Inside both containers, children are laid out using the same flexbox algorithm. The difference is purely about the container's outer display type.
inline-flex instead of flex?
inline-flex when you need a flex container that doesn't break the inline flow. Common scenarios include: inline button groups, icon + text label combinations, tag/badge lists that should wrap naturally, centering content inside an inline element, or placing multiple small flex containers side-by-side without extra wrapper divs. If you need a full-width layout section, use display: flex.
inline-flex differ from inline-block?
inline-flex uses the flexbox layout model for its children, while inline-block uses the standard block layout. With inline-flex, you get access to all flexbox properties (justify-content, align-items, gap, flex-wrap, etc.) for arranging children. With inline-block, children follow normal flow rules. inline-flex is the modern, more powerful choice when you need inline behavior with flexible child alignment.
inline-flex containers sit on the same row?
inline-flex. Because each container is inline-level, multiple inline-flex containers can sit side-by-side on the same row (as long as there's enough horizontal space). They will even wrap naturally like words in a paragraph. In contrast, display: flex containers are block-level, so each one starts on a new line and takes the full width.
inline-flex support flex-wrap, gap, and other flex properties?
flex and inline-flex containers. This includes flex-wrap, gap, justify-content, align-items, flex-direction, and all flex item properties. The only difference is the container's outer display behavior (block vs inline). The inner flex layout engine is exactly the same.
flex-direction: column affect the width of an inline-flex container?
flex-direction: column on an inline-flex container, the container's width shrinks to fit the widest flex item (plus padding). This is because in column mode, the cross-axis is horizontal, and the container's width is determined by the largest child on that axis. A flex container in column mode still stretches to the full parent width. This makes inline-flex with column direction excellent for vertical button stacks or navigation menus that should only be as wide as their content.
inline-flex?
inline-flex is supported in all modern browsers, including Chrome, Firefox, Safari, and Edge. It has been part of the CSS Flexible Box Layout Module Level 1 specification since 2012. Internet Explorer 10 and 11 support it with the -ms- prefix. For any project targeting browsers from the last decade, inline-flex is safe to use without concerns.
flex and inline-flex?
display property is not animatable in CSS — you cannot smoothly transition between flex and inline-flex. The change is instantaneous. If you need a visual transition, consider animating other properties like width, max-width, or transform instead, or use JavaScript to toggle the display value at the right moment.
Enter the characters you need and generate a smaller font file from a TTF/OTF. Keep only the glyphs you use. Using harfbuzz WASM.
Create a shadow that appears when a container is scrollable. Pure CSS using background attachments. Copy the style easily.
Generate an <img> tag with the loading='lazy' attribute and optional low‑quality placeholder. Improve Core Web Vitals. Copy the snippet.
Write a generator function and step through it with next(). See values and done state. Understand iterators.
Explore the contents of the Cache Storage API for your domain. See cached requests and their sizes. Debug offline apps.
Generate random truth questions and dares for game night. Categories for kids, teens, and adults. No repeats, all client-side fun.
Plan a party or event budget by category (venue, food, decorations). See total and cost per guest. Export summary.
Build a conic gradient with any number of color stops. Visual editor. Ideal for creating pie charts or colorful spinners.
Simulate a traceroute by entering a destination IP. Learn about AS paths and latency. Does not send real packets; educational visualisation.
Enter a full URL and get all query parameters in a clean table with decoded values. Quickly see UTM and tracking params.
Visually configure scroll‑snap containers and items. Adjust alignment, stop behavior, and padding. Copy the clean CSS instantly.
Create complex linear gradients with any number of color stops, exact angles, and length units. Live preview and CSS code.
Style underlines, overlines, and strike-throughs with colors, wavy styles, and thickness. Modern CSS text‑decoration.
Design a fully styled scrollbar with colors, width, radius, and hover effects. Supports both ::-webkit‑scrollbar and Firefox scrollbar‑width.
Create CSS clamp() values for fluid typography. Enter min and max font sizes and viewport widths. Modern responsive design.
Create CSS mask‑image effects with custom shapes, gradients, and SVGs. Visually see the mask applied to an image. Copy the CSS.
Paste your CSS and sort the properties of each rule alphabetically or by concentric groups. Keep your stylesheets consistent without a build step.
Create a customizable checkerboard or grid background using pure CSS gradients. Adjust cell size and colors. Copy the code.
Upload two images and apply CSS blend modes (multiply, screen, overlay, etc.). See the result and copy the filter CSS. Pure frontend.
Add print styles like removing backgrounds, adding page breaks, setting margins. See print preview instantly.
Write a media query and instantly see if it matches your current viewport. Width, height, orientation, and more.
Paste your CSS and strip all `!important` declarations in one click. See a list of affected rules. Local tool.
Paste HTML/CSS snippets or enter properties to test how z‑index and stacking contexts interact. Real‑time example.
Adjust margin, border, padding, and content sizes interactively and see the rendered box model. Get the exact CSS. Teach or learn layout.
Design a pure CSS tooltip with custom text, position (top/bottom/left/right), and arrow. Copy the clean code.
Practice CSS selectors by targeting plates on a virtual restaurant table. 30+ levels. Perfect for beginners.
Fetch a website's CSS and extract :root custom properties (‑‑color) to reveal its design token palette. For learning and inspiration.
Upload multiple icon images and merge them into a single sprite sheet. Get the CSS background-position code. Optimize web performance.
Find safe mixing ratios for the classic elephant toothpaste demonstration. Volume adjustments for different container sizes.
Recreate the target CSS linear gradient by adjusting stops and colors. A unique game for front‑end developers to master gradients.