--- /dev/null
+# declaration-block-no-redundant-longhand-properties
+
+Disallow longhand properties that can be combined into one shorthand property.
+
+```css
+ a {
+ padding-top: 1px;
+ padding-right: 2px;
+ padding-bottom: 3px;
+ padding-left: 4px; }
+/** ↑
+ * These longhand properties */
+```
+
+The longhand properties in the example above can be more concisely written as:
+
+```css
+a {
+ padding: 1px 2px 3px 4px;
+}
+```
+
+This rule will only complain if you've used the longhand equivalent of *all* the properties that the shorthand will set.
+
+This rule complains when the following shorthand properties can be used:
+
+- `margin`
+- `padding`
+- `background`
+- `font`
+- `border`
+- `border-top`
+- `border-bottom`
+- `border-left`
+- `border-right`
+- `border-width`
+- `border-style`
+- `border-color`
+- `list-style`
+- `border-radius`
+- `transition`
+- `animation`
+- `border-block-end`
+- `border-block-start`
+- `border-image`
+- `border-inline-end`
+- `border-inline-start`
+- `column-rule`
+- `columns`
+- `flex`
+- `flex-flow`
+- `grid`
+- `grid-area`
+- `grid-column`
+- `grid-gap`
+- `grid-row`
+- `grid-template`
+- `outline`
+- `text-decoration`
+- `text-emphasis`
+- `mask`
+
+## Options
+
+### `true`
+
+The following patterns are considered violations:
+
+```css
+a {
+ margin-top: 1px;
+ margin-right: 2px;
+ margin-bottom: 3px;
+ margin-left: 4px;
+}
+```
+
+```css
+a {
+ font-style: italic;
+ font-variant: normal;
+ font-weight: bold;
+ font-stretch: normal;
+ font-size: 14px;
+ line-height: 1.2;
+ font-family: serif;
+}
+```
+
+```css
+a {
+ -webkit-transition-property: top;
+ -webkit-transition-duration: 2s;
+ -webkit-transition-timing-function: ease;
+ -webkit-transition-delay: 0.5s;
+}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+a {
+ margin: 1px 2px 3px 4px;
+}
+```
+
+```css
+a {
+ font: italic normal bold normal 14px/1.2 serif;
+}
+```
+
+```css
+a {
+ -webkit-transition: top 2s ease 0.5s;
+}
+```
+
+```css
+a {
+ margin-top: 1px;
+ margin-right: 2px;
+}
+```
+
+```css
+a {
+ margin-top: 1px;
+ margin-right: 2px;
+ margin-bottom: 3px;
+}
+```
+
+## Optional secondary options
+
+### `ignoreShorthands: ["/regex/", "string"]`
+
+Given:
+
+```js
+["padding", "/border/"]
+```
+
+The following patterns are *not* considered violations:
+
+```css
+a {
+ padding-top: 20px;
+ padding-right: 10px;
+ padding-bottom: 30px;
+ padding-left: 10px;
+}
+```
+
+```css
+a {
+ border-top-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-right-width: 1px;
+}
+```
+
+```css
+a {
+ border-top-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-right-width: 1px;
+}
+```
+
+```css
+a {
+ border-top-color: green;
+ border-top-style: double;
+ border-top-width: 7px;
+}
+```