peach a19a732be8 commit message | 2 år sedan | |
---|---|---|
.. | ||
CHANGELOG.md | 2 år sedan | |
LICENSE.md | 2 år sedan | |
README.md | 2 år sedan | |
browser-legacy.js | 2 år sedan | |
browser.js | 2 år sedan | |
cli.js | 2 år sedan | |
index.js | 2 år sedan | |
index.js.map | 2 år sedan | |
index.mjs | 2 år sedan | |
index.mjs.map | 2 år sedan | |
legacy.js | 2 år sedan | |
legacy.js.map | 2 år sedan | |
legacy.mjs | 2 år sedan | |
legacy.mjs.map | 2 år sedan | |
package.json | 2 år sedan | |
postcss.js | 2 år sedan | |
postcss.js.map | 2 år sedan | |
postcss.mjs | 2 år sedan | |
postcss.mjs.map | 2 år sedan |
CSS Blank Pseudo lets you style form elements when they are empty, following the Selectors Level 4 specification.
input {
/* style an input */
}
input:blank {
/* style an input without a value */
}
From the command line, transform CSS files that use :blank
selectors:
npx css-blank-pseudo SOURCE.css TRANSFORMED.css
Next, use your transformed CSS with this script:
<link rel="stylesheet" href="TRANSFORMED.css">
<script src="https://unpkg.com/css-blank-pseudo/browser"></script>
<script>cssBlankPseudo(document)</script>
That’s it. The script is 509 bytes and works in all browsers.
If you support Internet Explorer 11, use the browser legacy script, which is 671 bytes:
<link rel="stylesheet" href="TRANSFORMED.css">
<script src="https://unpkg.com/css-blank-pseudo/browser-legacy"></script>
<script>cssBlankPseudo(document)</script>
The PostCSS plugin clones rules containing :blank
,
replacing them with an alternative [blank]
selector.
input:blank {
background-color: yellow;
}
/* becomes */
input[blank] {
background-color: yellow;
}
input:blank {
background-color: yellow;
}
Next, the JavaScript library adds a blank
attribute to
elements otherwise matching :blank
natively.
<input value="" blank>
<input value="This element has a value">