mirror of
https://github.com/phuoc-ng/csslayout.git
synced 2025-08-06 14:16:50 +02:00
Merge pull request #97 from phuoc-ng/seo-tags
Add keywords and description tags to all pages
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
<html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>CSS layout</title>
|
||||
<meta charset="utf-8" />
|
||||
<title>CSS layout</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="author" content="Nguyen Huu Phuoc" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body style="width: 100%;">
|
||||
|
@@ -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="/"
|
||||
|
@@ -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)',
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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,
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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={(
|
||||
|
@@ -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.
|
||||
|
@@ -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={(
|
||||
|
38
package-lock.json
generated
38
package-lock.json
generated
@@ -962,6 +962,15 @@
|
||||
"@types/react": "*"
|
||||
}
|
||||
},
|
||||
"@types/react-helmet": {
|
||||
"version": "5.0.14",
|
||||
"resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-5.0.14.tgz",
|
||||
"integrity": "sha512-Q73FFg7+LjblfSQUNbnjrwy2T1avBP8yevEgNrkDjyz1rBbnXkuOQcEV7I5wvmAic9FLUk0CnkLieEDej84Zkw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/react": "*"
|
||||
}
|
||||
},
|
||||
"@types/react-router": {
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.3.tgz",
|
||||
@@ -6864,6 +6873,22 @@
|
||||
"scheduler": "^0.18.0"
|
||||
}
|
||||
},
|
||||
"react-fast-compare": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz",
|
||||
"integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw=="
|
||||
},
|
||||
"react-helmet": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.1.tgz",
|
||||
"integrity": "sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==",
|
||||
"requires": {
|
||||
"object-assign": "^4.1.1",
|
||||
"prop-types": "^15.5.4",
|
||||
"react-fast-compare": "^2.0.2",
|
||||
"react-side-effect": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"react-is": {
|
||||
"version": "16.12.0",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz",
|
||||
@@ -6900,6 +6925,14 @@
|
||||
"tiny-warning": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"react-side-effect": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.2.0.tgz",
|
||||
"integrity": "sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==",
|
||||
"requires": {
|
||||
"shallowequal": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"react-snap": {
|
||||
"version": "1.23.0",
|
||||
"resolved": "https://registry.npmjs.org/react-snap/-/react-snap-1.23.0.tgz",
|
||||
@@ -7513,6 +7546,11 @@
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"shallowequal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
|
||||
"integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
|
@@ -15,6 +15,7 @@
|
||||
"highlight.js": "^9.16.2",
|
||||
"react": "^16.12.0",
|
||||
"react-dom": "^16.12.0",
|
||||
"react-helmet": "^5.2.1",
|
||||
"react-router-dom": "^5.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -25,6 +26,7 @@
|
||||
"@types/loadable__component": "^5.10.0",
|
||||
"@types/react": "^16.9.16",
|
||||
"@types/react-dom": "^16.9.4",
|
||||
"@types/react-helmet": "^5.0.14",
|
||||
"@types/react-router-dom": "^5.1.3",
|
||||
"babel-loader": "^8.0.6",
|
||||
"cpx2": "^2.0.0",
|
||||
|
Reference in New Issue
Block a user