stylelint-declaration-block-no-ignored-properties
Disallow property values that are ignored due to another property value in the same rule.
Last updated 5 months ago by kristerkari .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install stylelint-declaration-block-no-ignored-properties 
SYNC missed versions from official npm registry.

stylelint-declaration-block-no-ignored-properties

Greenkeeper badge

NPM version Build Status Build status PRs Welcome Downloads per month

Original rule: stylelint/declaration-block-no-ignored-properties.

Disallow property values that are ignored due to another property value in the same rule.

a { display: inline; width: 100px; }
/**                  ↑
 *       This property */

Certain property value pairs rule out other property value pairs, causing them to be ignored by the browser. For example, when an element has display: inline, any further declarations about width, height and margin-top properties will be ignored. Sometimes this is confusing: maybe you forgot that your margin-top will have no effect because the element has display: inline, so you spend a while struggling to figure out what you've done wrong. This rule protects against that confusion by ensuring that within a single rule you don't use property values that are ruled out by other property values in that same rule.

The rule complains when it finds:

  • display: inline used with width, height, margin, margin-top, margin-bottom, overflow (and all variants).
  • display: list-item used with vertical-align.
  • display: block used with vertical-align.
  • display: flex used with vertical-align.
  • display: table used with vertical-align.
  • display: table-* (except table-caption) used with margin.
  • display: table-* (except table-cell) used with padding.
  • display: table-* (except table-cell) used with vertical-align.
  • display: table-(row|row-group) used with width, min-width or max-width.
  • display: table-(column|column-group) used with height, min-height or max-height.
  • float: left and float: right used with vertical-align.
  • position: static used with top, right, bottom, left or z-index.
  • position: absolute used with float, clear or vertical-align.
  • position: fixed used with float, clear or vertical-align.
  • list-style-type: none used with list-style-image.
  • overflow: visible used with resize.

Installation

npm install stylelint-declaration-block-no-ignored-properties --save-dev

Usage

// .stylelintrc
{
  "plugins": [
    "stylelint-declaration-block-no-ignored-properties"
  ],
  "rules": {
    "plugin/declaration-block-no-ignored-properties": true,
  }
}

Options

true

The following patterns are considered violations:

a { display: inline; width: 100px; }

display: inline causes width to be ignored.

a { display: inline; height: 100px; }

display: inline causes height to be ignored.

a { display: inline; margin: 10px; }

display: inline causes margin to be ignored.

a { display: block; vertical-align: baseline; }

display: block causes vertical-align to be ignored.

a { display: flex; vertical-align: baseline; }

display: flex causes vertical-align to be ignored.

a { position: absolute; vertical-align: baseline; }

position: absolute causes vertical-align to be ignored.

a { float: left; vertical-align: baseline; }

float: left causes vertical-align to be ignored.

The following patterns are not considered violations:

a { display: inline; margin-left: 10px; }
a { display: inline; margin-right: 10px; }
a { display: inline; padding: 10px; }
a { display: inline-block; width: 100px; }

Although display: inline causes width to be ignored, inline-block works with width.

a { display: table-cell; vertical-align: baseline; }

Although display: block causes vertical-align to be ignored, table-cell works with vertical-align.

a { position: relative; vertical-align: baseline; }

Although position: absolute causes vertical-align to be ignored, relative works with vertical-align.

Current Tags

  • 2.3.0                                ...           latest (5 months ago)

8 Versions

  • 2.3.0                                ...           5 months ago
  • 2.2.0                                ...           8 months ago
  • 2.1.0                                ...           a year ago
  • 2.0.0                                ...           a year ago
  • 1.1.0                                ...           2 years ago
  • 1.0.2                                ...           3 years ago
  • 1.0.1                                ...           3 years ago
  • 1.0.0                                ...           3 years ago
Maintainers (1)
Downloads
Today 953
This Week 5,825
This Month 6,931
Last Day 2,546
Last Week 12,974
Last Month 57,620
Dependencies (1)
Dev Dependencies (9)
Dependents (112)

Copyright 2014 - 2016 © taobao.org |