1
0
mirror of https://github.com/phuoc-ng/csslayout.git synced 2025-08-11 16:44:57 +02:00

Add keywords and description tags to all pages

This commit is contained in:
Phuoc Nguyen
2019-12-23 22:22:12 +07:00
parent a01ec56877
commit c3f5ac9069
76 changed files with 377 additions and 8 deletions

View File

@@ -3,8 +3,6 @@
<meta charset="utf-8" />
<title>CSS layout</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="CSS layouts and patterns" />
<meta name="keywords" content="css display, css flexbox, css grid, css layouts, flex, flexbox, flexbox cheatsheet, web design, web template" />
<meta name="author" content="Nguyen Huu Phuoc" />
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap" rel="stylesheet">
</head>

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import CoverCard from '../components/CoverCard';
@@ -14,6 +15,10 @@ const ExplorePage = () => {
return (
<Layout>
<Helmet>
<meta name="description" content="CSS layouts and patterns" />
<meta name="keywords" content="css display, css flexbox, css grid, css layouts, flex, flexbox, flexbox cheatsheet, web design, web template" />
</Helmet>
<div style={{ margin: '32px 0' }}>
<Link
to="/"

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import './home.css';
@@ -16,6 +17,10 @@ const HomePage = () => {
return (
<Layout>
<Helmet>
<meta name="description" content="CSS layouts and patterns" />
<meta name="keywords" content="css display, css flexbox, css grid, css layouts, flex, flexbox, flexbox cheatsheet, web design, web template" />
</Helmet>
<div
style={{
border: '1px solid rgba(0, 0, 0, 0.2)',

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -52,6 +53,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Accordion">
<Helmet>
<meta name="description" content="Create an accordion with CSS flexbox" />
<meta name="keywords" content="css accordion, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -28,6 +29,10 @@ const Avatar: React.FC<{}> = ({ children }) => {
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Avatar list">
<Helmet>
<meta name="description" content="Create an avatar list with CSS flexbox" />
<meta name="keywords" content="css avatar, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -8,6 +9,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Avatar">
<Helmet>
<meta name="description" content="Create an avatar component with CSS flexbox" />
<meta name="keywords" content="css avatar, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -8,6 +9,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Badge">
<Helmet>
<meta name="description" content="Create a badge component with CSS flexbox" />
<meta name="keywords" content="css badge, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Breadcrumb">
<Helmet>
<meta name="description" content="Create a breadcrumb with CSS flexbox" />
<meta name="keywords" content="css breadcrumb, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Button with icon">
<Helmet>
<meta name="description" content="Create an icon button with CSS flexbox" />
<meta name="keywords" content="css flexbox, css icon button" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Card">
<Helmet>
<meta name="description" content="Create a card with CSS flexbox" />
<meta name="keywords" content="css card, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Centering">
<Helmet>
<meta name="description" content="Center an element with CSS flexbox" />
<meta name="keywords" content="css centering, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -10,6 +11,10 @@ import InputChip from './InputChip';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Chip">
<Helmet>
<meta name="description" content="Create a chip component with CSS flexbox" />
<meta name="keywords" content="css chip, css flexbox, css tag" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
You can use a <Link to='/patterns/close-button'>close button</Link> to remove a chip.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -43,6 +44,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Circular navigation">
<Helmet>
<meta name="description" content="Create a circular navigation with CSS flexbox" />
<meta name="keywords" content="css circular navigation, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -8,6 +9,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Close button">
<Helmet>
<meta name="description" content="Create a close button with CSS flexbox" />
<meta name="keywords" content="css close button, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -10,6 +11,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Cookie banner">
<Helmet>
<meta name="description" content="Create a cookie banner with CSS flexbox" />
<meta name="keywords" content="css cookie banner, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import Heading from '../../components/Heading';
@@ -10,6 +11,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Corner ribbon">
<Helmet>
<meta name="description" content="Create a corner ribbon with CSS flexbox" />
<meta name="keywords" content="css flexbox, css ribbon" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -56,6 +57,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Custom checkbox button">
<Helmet>
<meta name="description" content="Create a custom checkbox button with CSS flexbox" />
<meta name="keywords" content="css checkbox, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -57,6 +58,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Custom radio button">
<Helmet>
<meta name="description" content="Create a custom radio button with CSS flexbox" />
<meta name="keywords" content="css flexbox, css radio" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Heading from '../../components/Heading';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -10,6 +11,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Docked at corner">
<Helmet>
<meta name="description" content="Dock an element at corner with CSS" />
<meta name="keywords" content="css docked, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Heading from '../../components/Heading';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -11,6 +12,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Dot leader">
<Helmet>
<meta name="description" content="Create dot leaders with CSS flexbox" />
<meta name="keywords" content="css dot leader, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -31,6 +32,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Dot navigation">
<Helmet>
<meta name="description" content="Create dot navigation with CSS flexbox" />
<meta name="keywords" content="css dot navigation, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -7,6 +8,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Drawer">
<Helmet>
<meta name="description" content="Create a drawer navigation with CSS" />
<meta name="keywords" content="css drawer, css off-canvas" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
This pattern is also known as off-canvas.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -7,6 +8,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Drop area">
<Helmet>
<meta name="description" content="Create a dropping area with CSS flexbox" />
<meta name="keywords" content="css dropping area, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,16 +1,18 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import './dropcap.css';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
import BrowserFrame from '../../placeholders/BrowserFrame';
import Rectangle from '../../placeholders/Rectangle';
import Square from '../../placeholders/Square';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Drop cap">
<Helmet>
<meta name="description" content="Create a drop cap with CSS" />
<meta name="keywords" content="css drop cap" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import './dropdown.css';
@@ -13,6 +14,10 @@ import Triangle from '../../placeholders/Triangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Dropdown">
<Helmet>
<meta name="description" content="Create a dropdown with CSS" />
<meta name="keywords" content="css dropdown, css menu" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
Move the mouse over the button to see the dropdown.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -11,6 +12,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Feature comparison">
<Helmet>
<meta name="description" content="Create a feature comparison list with CSS flexbox" />
<meta name="keywords" content="css feature comparison, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -11,6 +12,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Feature list">
<Helmet>
<meta name="description" content="Create a feature list with CSS flexbox" />
<meta name="keywords" content="css feature list, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -9,6 +10,10 @@ import Triangle from '../../placeholders/Triangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Fixed at corner">
<Helmet>
<meta name="description" content="Fix an element at corner with CSS" />
<meta name="keywords" content="css fixed" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Heading from '../../components/Heading';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -9,6 +10,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Fixed at side">
<Helmet>
<meta name="description" content="Fix an element at the middle of side with CSS" />
<meta name="keywords" content="css fixed" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import './floating-label.css';
@@ -8,6 +9,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Floating label">
<Helmet>
<meta name="description" content="Create a floating label with CSS" />
<meta name="keywords" content="css floating label, placeholder shown" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
Type something in the input to see how the label is shown up.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Full screen menu">
<Helmet>
<meta name="description" content="Create a full screen menu with CSS flexbox" />
<meta name="keywords" content="css fixed, css flexbox, css menu" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Holy grail">
<Helmet>
<meta name="description" content="Create a holy grail layout with CSS flexbox" />
<meta name="keywords" content="css flexbox, css holy grail layout, css layout" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -9,6 +10,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Initial avatar">
<Helmet>
<meta name="description" content="Create an initial avatar with CSS" />
<meta name="keywords" content="css avatar" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
To center the content, you also can use other technique demonstrated in

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Input add-on">
<Helmet>
<meta name="description" content="Create an input add-on with CSS flexbox" />
<meta name="keywords" content="css flexbox, css input add-on" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import Heading from '../../components/Heading';
@@ -12,7 +13,7 @@ interface ItemProps {
const Item: React.FC<ItemProps> = ({ action, keys }) => {
return (
<dl
<div
style={{
alignItems: 'center',
display: 'flex',
@@ -33,13 +34,17 @@ const Item: React.FC<ItemProps> = ({ action, keys }) => {
>
{keys}
</kbd>
</dl>
</div>
);
};
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Keyboard shortcut">
<Helmet>
<meta name="description" content="Create a keyboard shortcut with CSS" />
<meta name="keywords" content="kbd tag, keyboard shortcut" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
We use the native <code>kbd</code> tag to display the keyboard shortcut.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -9,6 +10,10 @@ import Square from '../../placeholders/Square';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Media object">
<Helmet>
<meta name="description" content="Create a media object with CSS flexbox" />
<meta name="keywords" content="css flexbox, media object" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import './menu.css';
@@ -12,6 +13,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Menu">
<Helmet>
<meta name="description" content="Create a menu with CSS flexbox" />
<meta name="keywords" content="css flexbox, css menu" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import DetailsLayout from '../../layouts/DetailsLayout';
@@ -10,6 +11,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Modal">
<Helmet>
<meta name="description" content="Create a modal with CSS flexbox" />
<meta name="keywords" content="css dialog, css flexbox, css modal" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
You can use the <Link to='/patterns/close-button'>close button</Link> to

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import DetailsLayout from '../../layouts/DetailsLayout';
@@ -9,6 +10,10 @@ import Circle from '../../placeholders/Circle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Notification">
<Helmet>
<meta name="description" content="Create a notification with CSS flexbox" />
<meta name="keywords" content="css alert, css flexbox, css notification" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
You can use the <Link to='/patterns/close-button'>close button</Link> to

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -9,6 +10,10 @@ import Triangle from '../../placeholders/Triangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Overlay play button">
<Helmet>
<meta name="description" content="Create an overlay play button with CSS flexbox" />
<meta name="keywords" content="css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Pagination">
<Helmet>
<meta name="description" content="Create a pagination with CSS flexbox" />
<meta name="keywords" content="css flexbox, css pagination" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -8,6 +9,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Popover arrow">
<Helmet>
<meta name="description" content="Create a popover arrow with CSS" />
<meta name="keywords" content="css arrow, css popover" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -9,6 +10,10 @@ import Circle from '../../placeholders/Circle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Presence indicator">
<Helmet>
<meta name="description" content="Create a presence indicator with CSS" />
<meta name="keywords" content="css indicator" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Previous and next buttons">
<Helmet>
<meta name="description" content="Create previous and next buttons with CSS flexbox" />
<meta name="keywords" content="css flexbox, css pagination" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -12,6 +13,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Pricing table">
<Helmet>
<meta name="description" content="Create a pricing table with CSS flexbox" />
<meta name="keywords" content="css flexbox, css pricing table" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
You can <Link to='/patterns/ribbon'>add</Link> <Link to='/patterns/corner-ribbon'>a ribbon</Link> to

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import useInterval from '../../hooks/useInterval';
import DetailsLayout from '../../layouts/DetailsLayout';
@@ -12,6 +13,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Progress bar">
<Helmet>
<meta name="description" content="Create a progress bar with CSS flexbox" />
<meta name="keywords" content="css flexbox, css progress bar" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import Heading from '../../components/Heading';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -28,6 +29,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Property list">
<Helmet>
<meta name="description" content="Create a property list with CSS flexbox" />
<meta name="keywords" content="css flexbox, property list" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -48,6 +49,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Questions and answers">
<Helmet>
<meta name="description" content="Create a questions and answers section with CSS flexbox" />
<meta name="keywords" content="css accordion, css faq, css flexbox" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -67,6 +68,10 @@ const RadialProgress: React.FC<RadialProgressProps> = ({ percentages }) => {
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Radial progress bar">
<Helmet>
<meta name="description" content="Create a radial progress bar with CSS flexbox" />
<meta name="keywords" content="css clip rect, css flexbox, css progress bar" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import './radioButtonGroup.css';
@@ -42,6 +43,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Radio button group">
<Helmet>
<meta name="description" content="Create a radio button group with CSS flexbox" />
<meta name="keywords" content="css flexbox, css radio button" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import Heading from '../../components/Heading';
import RelatedPatterns from '../../components/RelatedPatterns';
@@ -12,6 +13,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Radio switch">
<Helmet>
<meta name="description" content="Create a radio switch with CSS flexbox" />
<meta name="keywords" content="css flexbox, css radio switch, css switch" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Star from './Star';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Rating">
<Helmet>
<meta name="description" content="Create a star rating with CSS flexbox" />
<meta name="keywords" content="css flexbox, css star rating" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -6,6 +7,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Resizable element">
<Helmet>
<meta name="description" content="Create resizable indicators with CSS" />
<meta name="keywords" content="css resizable, css resize cursor" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
You can move the mouse over each squares located at the corners and the middle of sides to see

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -9,6 +10,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Ribbon">
<Helmet>
<meta name="description" content="Create a ribbon with CSS" />
<meta name="keywords" content="css ribbon" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Same height columns">
<Helmet>
<meta name="description" content="Create same height columns with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css same height columns" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Circle from '../../placeholders/Circle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Search box">
<Helmet>
<meta name="description" content="Create a search box with CSS flexbox" />
<meta name="keywords" content="css flexbox, css search box" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Separator">
<Helmet>
<meta name="description" content="Create a separator with CSS flexbox" />
<meta name="keywords" content="css divider, css flexbox, css separator" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -7,6 +8,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sidebar">
<Helmet>
<meta name="description" content="Create a sidebar with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css sidebar" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>Try to scroll the main content!</div>
<BrowserFrame

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -7,6 +8,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Simple grid">
<Helmet>
<meta name="description" content="Create a simple grid with CSS flexbox" />
<meta name="keywords" content="css flexbox, css flexbox grid, css grid, css layout" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Slider">
<Helmet>
<meta name="description" content="Create a slider with CSS flexbox" />
<meta name="keywords" content="css flexbox, css slider" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -14,6 +15,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Spin button">
<Helmet>
<meta name="description" content="Create a spin button with CSS flexbox" />
<meta name="keywords" content="css flexbox, css spin button" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -9,6 +10,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Split navigation">
<Helmet>
<meta name="description" content="Create a split navigation with CSS flexbox" />
<meta name="keywords" content="css flexbox, css menu, css navigation, css split navigation" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -9,6 +10,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Split screen">
<Helmet>
<meta name="description" content="Create a split screen with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css split screen" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -13,6 +14,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Stepper input">
<Helmet>
<meta name="description" content="Create a stepper input with CSS flexbox" />
<meta name="keywords" content="css flexbox, css stepper input" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sticky footer">
<Helmet>
<meta name="description" content="Create a sticky footer with CSS flexbox" />
<meta name="keywords" content="css flexbox, css layout, css sticky, css sticky footer" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
The footer always sticks to the bottom if the main content is short.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -8,6 +9,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sticky header">
<Helmet>
<meta name="description" content="Create a sticky header with CSS" />
<meta name="keywords" content="css layout, css sticky, css sticky header" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
Try to scroll the main content to see the header sticks to the top of page.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -6,6 +7,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Sticky sections">
<Helmet>
<meta name="description" content="Create sticky sections with CSS" />
<meta name="keywords" content="css layout, css sticky, css sticky sections" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
Try to scroll the main content to see each section sticks to the top of page.

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -11,6 +12,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Switch">
<Helmet>
<meta name="description" content="Create a switch with CSS flexbox" />
<meta name="keywords" content="css custom checkbox, css flexbox, css switch, css switcher" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px'}}>
The checkbox is placed inside a label. So when clicking on the label,

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -33,6 +34,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Tab">
<Helmet>
<meta name="description" content="Create tabs with CSS flexbox" />
<meta name="keywords" content="css flexbox, css navigation, css tab" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -9,6 +10,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Timeline">
<Helmet>
<meta name="description" content="Create a timeline with CSS flexbox" />
<meta name="keywords" content="css flexbox, css timeline" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -9,6 +10,10 @@ const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Toggle password visibility">
<Helmet>
<meta name="description" content="Create a toggle password visibility with CSS flexbox" />
<meta name="keywords" content="css flexbox, toggle password visibility" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import './tooltip.css';
@@ -12,6 +13,10 @@ import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Tooltip">
<Helmet>
<meta name="description" content="Create a tooltip with CSS" />
<meta name="keywords" content="css tooltip" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
Move the mouser over the main element to see the tooltip.

View File

@@ -1,13 +1,17 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
import Circle from '../../placeholders/Circle';
import Rectangle from '../../placeholders/Rectangle';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Upload button">
<Helmet>
<meta name="description" content="Create an upload button with CSS flexbox" />
<meta name="keywords" content="css file input, css flexbox, css upload button" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
You can click the button to choose a file.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import BrowserFrame from '../../placeholders/BrowserFrame';
@@ -6,6 +7,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Validation icon">
<Helmet>
<meta name="description" content="Add validation icons to input with CSS" />
<meta name="keywords" content="css validation icon" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import RelatedPatterns from '../../components/RelatedPatterns';
import Pattern from '../../constants/Pattern';
@@ -9,6 +10,10 @@ import BrowserFrame from '../../placeholders/BrowserFrame';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Video background">
<Helmet>
<meta name="description" content="Add video background with CSS flexbox" />
<meta name="keywords" content="css flexbox, object fit cover" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<div style={{ lineHeight: 1.5, marginBottom: '16px' }}>
In this pattern, the video is displayed in the background.

View File

@@ -1,4 +1,5 @@
import React from 'react';
import { Helmet } from 'react-helmet';
import DetailsLayout from '../../layouts/DetailsLayout';
import Block from '../../placeholders/Block';
@@ -9,6 +10,10 @@ import Line from '../../placeholders/Line';
const Details: React.FC<{}> = () => {
return (
<DetailsLayout title="Wizard">
<Helmet>
<meta name="description" content="Create a wizard with CSS flexbox" />
<meta name="keywords" content="css flexbox, css stepper, css wizard" />
</Helmet>
<div style={{ padding: '64px 32px' }}>
<BrowserFrame
content={(