Back to Tailwindcss

Filter Grayscale

src/docs/filter-grayscale.mdx

latest4.2 KB
Original Source

import { ApiTable } from "@/components/api-table.tsx"; import { Example } from "@/components/example.tsx"; import { Figure } from "@/components/figure.tsx"; import { ResponsiveDesign, UsingACustomValue } from "@/components/content.tsx";

export const title = "filter: grayscale()"; export const description = "Utilities for applying grayscale filters to an element.";

<ApiTable rows={[ ["grayscale", "filter: grayscale(100%);"], ["grayscale-<number>", "filter: grayscale(<number>%);"], ["grayscale-(<custom-property>)", "filter: grayscale(var(<custom-property>));"], ["grayscale-[<value>]", "filter: grayscale(<value>);"], ]} />

Examples

Basic example

Use utilities like grayscale and grayscale-75 to control the amount of grayscale effect applied to an element:

<Figure> <Example padding={false}> { <div className="flex scroll-p-8 justify-center overflow-scroll sm:block sm:overflow-visible"> <div className="flex shrink-0 items-center justify-around gap-6 p-8 font-mono font-bold sm:gap-4"> <div className="flex shrink-0 flex-col items-center"> <p className="mb-3 text-center font-mono text-xs font-medium text-gray-500 dark:text-gray-400">grayscale-0</p> <div className="relative grayscale-0">
        <div className="absolute inset-0 rounded-lg ring-1 ring-black/10 ring-inset"></div>
      </div>
    </div>
    <div className="flex shrink-0 flex-col items-center">
      <p className="mb-3 text-center font-mono text-xs font-medium text-gray-500 dark:text-gray-400">
        grayscale-25
      </p>
      <div className="relative grayscale-25">
        
        <div className="absolute inset-0 rounded-lg ring-1 ring-black/10 ring-inset"></div>
      </div>
    </div>
    <div className="flex shrink-0 flex-col items-center">
      <p className="mb-3 text-center font-mono text-xs font-medium text-gray-500 dark:text-gray-400">
        grayscale-50
      </p>
      <div className="relative grayscale-50">
        
        <div className="absolute inset-0 rounded-lg ring-1 ring-black/10 ring-inset"></div>
      </div>
    </div>
    <div className="flex shrink-0 flex-col items-center">
      <p className="mb-3 text-center font-mono text-xs font-medium text-gray-500 dark:text-gray-400">grayscale</p>
      <div className="relative grayscale">
        
        <div className="absolute inset-0 rounded-lg ring-1 ring-black/10 ring-inset"></div>
      </div>
    </div>
  </div>
</div>

} </Example>

html
<!-- [!code classes:grayscale-0,grayscale-25,grayscale-50,grayscale] -->




</Figure>

Using a custom value

<UsingACustomValue element="img" elementAttributes={{ src: "/img/mountains.jpg" }} utility="grayscale" value="0.5" />

Responsive design

<ResponsiveDesign element="img" elementAttributes={{ src: "/img/mountains.jpg" }} property="filter: grayscale()" defaultClass="grayscale" featuredClass="grayscale-0" />