+
+
+ Components, patterns and layouts are things you have to deal with everyday.
+
+
There are a lot of CSS frameworks that provide rich set of layouts and patterns,
+ but I usually don't want to include all of them in my project.
+
+
+
+ So that I collect most popular layouts and patterns that can be built with pure CSS.
+
+
They are powered by modern CSS features such as flexbox and CSS grid.
+
+
+
+ Starting with the most basic part, you can customize easily for each specific need.
+
+
By composing them, you can have any possible layout that exists in the real life.
+
+
+
{
+
diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts
index f78e91b..921e78e 100644
--- a/client/constants/Pattern.ts
+++ b/client/constants/Pattern.ts
@@ -7,6 +7,7 @@ enum Pattern {
DockedAtCorner = 'Docked at corner',
DotLeader = 'Dot leader',
DotNavigation = 'Dot navigation',
+ DropArea = 'Drop area',
FeatureList = 'Feature list',
FixedAtCorner = 'Fixed at corner',
HolyGrail = 'Holy grail',
diff --git a/client/index.css b/client/index.css
index d5c1d82..812caae 100644
--- a/client/index.css
+++ b/client/index.css
@@ -14,3 +14,12 @@ input[type="email"], input[type="number"], input[type="password"], input[type="t
code {
font-size: 14px;
}
+.drop-cap:first-letter {
+ border: 2px solid;
+ float: left;
+ font-size: 64px;
+ font-weight: 700;
+ line-height: 1;
+ margin: 0 8px 0 0;
+ padding: 0 8px;
+}
diff --git a/client/patterns/drop-area/Cover.tsx b/client/patterns/drop-area/Cover.tsx
new file mode 100644
index 0000000..7575374
--- /dev/null
+++ b/client/patterns/drop-area/Cover.tsx
@@ -0,0 +1,40 @@
+import React from 'react';
+
+import Frame from '../../placeholders/Frame';
+import Line from '../../placeholders/Line';
+
+const Cover: React.FC<{}> = () => {
+ return (
+
+
+
+ );
+};
+
+export default Cover;
diff --git a/client/patterns/drop-area/Details.tsx b/client/patterns/drop-area/Details.tsx
new file mode 100644
index 0000000..b7310f9
--- /dev/null
+++ b/client/patterns/drop-area/Details.tsx
@@ -0,0 +1,61 @@
+import React from 'react';
+
+import DetailsLayout from '../../layouts/DetailsLayout';
+import Block from '../../placeholders/Block';
+import BrowserFrame from '../../placeholders/BrowserFrame';
+
+const Details: React.FC<{}> = () => {
+ return (
+
+
+ )}
+ source={`
+
+ ...
+
+`}
+ />
+
+
+ );
+};
+
+export default Details;
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 47dbba3..225bf0d 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -11,6 +11,7 @@