Showing posts with label CSS3. Show all posts
Showing posts with label CSS3. Show all posts

Friday, November 14, 2014

Layering Multiple Box Shadow with CSS3

Layering multiple shadows
Abridged from Ryan Boudreaux's post here
See also another page.
The box-shadow property allows elements to have multiple and unlimited numbers of shadows, which are divided by a comma-separated list. The syntax for the CSS3 box-shadow is written in the form:
box-shadow: Xpx Ypx Bpx Lpx #abc;
Where:
  • Xpx = x-axis horizontal offset
  • Ypx = y-axis vertical offset
  • Bpx = blur effect
  • Lpx = spread length
  • #abc = color
When more than one shadow is specified, the shadows are layered from front to back in the order in which they are listed, as in the example CSS3 code below, utilizing code prefixes for-moz- and -webkit- followed by the standard element reference box-shadow. The example CSS3 code below shows six shadows specified in the following order: first a purple shadow with an offset to the bottom left and a blur effect of 11px and a spread distance of 5px, second a khaki shadow offset to the top right with a 5px blur, third a coral shadow offset to the bottom right with a 50px blur effect applied, fourth a goldenrod shadow offset to the bottom left with a 5px blur, fifth a turquoise shadow offset to the top left with a blur effect of 50px applied, and sixth a chartreuse shadow with a bottom left offset with a blur effect applied:
.Multiple_Shadow {
      -moz-box-shadow: 5px 5px 11px 5px purple, 40px -30px 5px khaki, 40px 30px 50px coral, -40px 30px 5px goldenrod, -40px -30px 60px turquoise, -70px 50px 50px chartreuse;
      -webkit-box-shadow: 5px 5px 11px 5px purple, 40px -30px 5px khaki, 40px 30px 50px coral, -40px 30px 5px goldenrod, -40px -30px 50px turquoise, -70px 50px 50px chartreuse;
      box-shadow: 5px 5px 11px 5px purple, 40px -30px 5px khaki, 40px 30px 50px coral, -40px 30px 5px goldenrod, -40px -30px 50px turquoise, -70px 60px 50px chartreuse;
      width:500px;
      padding: 10px 10px;
      margin:120px;
}
Here, it is classified for the following HTML5 section:
<section class="Multiple_Shadow">
    <p><strong>Multiple Shadow Example</strong> <br />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean egestas blandit ipsum. Morbi nulla metus, luctus et, ullamcorper sit amet, commodo quis, nisl. Ut blandit lacus nec nibh. Phasellus eleifend enim et risus. Nam condimentum. Praesent euismod auctor dui.</p>
</section>
Figure A shows the result displayed in Firefox 7.0:

Figure A

Next, more fun with shadow layering in this example, utilizing just four layered colors within the CSS3 box-shadow styling element using similar HTML:
.Multiple_Shadow2 {
-moz-box-shadow: -20px -10px 11px 15px purple, -50px -40px 5px 10px goldenrod, 20px 10px 11px 15px blue, 50px 40px 5px 10px orange;
      -webkit-box-shadow: -20px -10px 11px 15px purple, -50px -40px 5px 10px goldenrod, 20px 10px 11px 15px blue, 50px 40px 5px 10px orange;
      box-shadow: -20px -10px 11px 15px purple, -50px -40px 5px 10px goldenrod, 20px 10px 11px 15px blue, 50px 40px 5px 10px orange;
      width:500px;
      height: 600px;
      padding: 5px 5px;
      margin:120px;
}
This results in Figure B as displayed in Firefox 7.0:

Figure B

In future CSS3 segments, I will review 3D text, text-shadow, transitioning properties, and other styling options that can be implemented in most modern browsers today.

Friday, May 2, 2014

Support for HTML5 & CSS3 by Mainstream Browsers

HTML5 & CSS3 Support


CSS3 Properties

PLATFORMMACWIN% Support
BrowserCHROMEFIREFOXOPERASAFARICHROMEFIREFOXOPERAIE
Version252012155.16251512678910
RGBAYYYYYYYYYNNNYY91%(grade: “excellent”)
HSLAYYYYYYYYYNNNYY91%(grade: “excellent”)
Box SizingYYYYYYYYYNNYYY35%(grade: “limited”)
Background SizeYYYYYYYYYNNNYY90%(grade: “excellent”)
Multiple BackgroundsYYYYYYYYYNNNYY90%(grade: “excellent”)
Border ImageYYYYYYYYYNNNNN85%(grade: “excellent”)
Border RadiusYYYYYYYYYNNNYY91%(grade: “excellent”)
Box ShadowYYYYYYYYYNNNYY91%(grade: “excellent”)
Text ShadowYYYYYYYYYNNNNY76%(grade: “excellent”)
OpacityYYYYYYYYYNNNYY91%(grade: “excellent”)
CSS AnimationsYYYYYYYYYNNNNY66%(grade: “good”)
CSS ColumnsYYYYYYYYYNNNNY85%(grade: “excellent”)
CSS GradientsYYYYYYYYYNNNNY84%(grade: “excellent”)
CSS ReflectionsYNNYYYYNNNNNNN46%(grade: “limited”)
CSS TransformsYYYYYYYYYNNNYY90%(grade: “excellent”)
CSS Transforms 3DYYNYYYNYNNNNNY41%(grade: “limited”)
CSS TransitionsYYYYYYYYYNNNNY72%(grade: “good”)
CSS FontFaceYYYYYYYYYYYYYY98%(grade: “excellent”)
FlexBoxYYYYYYYYNNNNNN72%(grade: “good”)
Generated ContentYYYYYYYYYNNYYY35%(grade: “limited”)
DataURIYYYYYYYYYNNYYY35%(grade: “limited”)
Pointer EventsYYNYYYYYNNNNNN29%(grade: “limited”)
Display: tableYYYYYYYYYNNYYY35%(grade: “limited”)
Overflow ScrollingNNNNNNNN
NNNNNN3%(grade: “poor”)
Media QueriesYYYYYYYYYNNNYY34%(grade: “limited”)

CSS3 Selectors

PLATFORMMACWIN% Support
BrowserCHROMEFIREFOXOPERASAFARICHROMEFIREFOXOPERAIE
Version252012155.16251512678910
Begins withYYYYYYYYYNYYYY99%(grade: “excellent”)
Ends withYYYYYYYYYNYYYY99%(grade: “excellent”)
MatchesYYYYYYYYYNYYYY99%(grade: “excellent”)
RootYYYYYYYYYNNNYY91%(grade: “excellent”)
nth-childYYYYYYYYYNNNYY91%(grade: “excellent”)
nth-last-childYYYYYYYYYNNNYY91%(grade: “excellent”)
nth-of-typeYYYYYYYYYNNNYY91%(grade: “excellent”)
nth-last-of-typeYYYYYYYYYNNNYY91%(grade: “excellent”)
last-childYYYYYYYYYNNNYY91%(grade: “excellent”)
first-of-typeYYYYYYYYYNNNYY91%(grade: “excellent”)
last-of-typeYYYYYYYYYNNNYY91%(grade: “excellent”)
only-childYYYYYYYYYNNNYY91%(grade: “excellent”)
only-of-typeYYYYYYYYYNNNYY91%(grade: “excellent”)
emptyYYYYYYYYYNNNYY91%(grade: “excellent”)
targetYYYYYYYYYNNNYY89%(grade: “excellent”)
enabledYYYYYYYYYNNNYY91%(grade: “excellent”)
disabledYYYYYYYYYNNNYY91%(grade: “excellent”)
checkedYYYYYYYYYNNNYY91%(grade: “excellent”)
notYYYYYYYYYNNNYY91%(grade: “excellent”)
General SiblingYYYYYYYYYNYYYY99%(grade: “excellent”)

HTML5 Graphics & Embedded Content

PLATFORMMACWIN% Support
BrowserCHROMEFIREFOXOPERASAFARICHROMEFIREFOXOPERAIE
Version252012155.16251512678910
CanvasYYYYYYYYYNNNYY91%(grade: “excellent”)
Canvas TextYYYYYYYYYNNNYY90%(grade: “excellent”)
SVGYYYYYYYYYNNNYY90%(grade: “excellent”)
SVG Clipping PathsYYYYYYYYYNNNYY90%(grade: “excellent”)
SVG InlineYYYYYYYYYNNNYY64%(grade: “good”)
SMILYYYYYYYYYNNNYY75%(grade: “good”)
WebGLYYYYYYYYYNNNYY70%(grade: “good”)
AudioYYYYYYYYYNNNYY90%(grade: “excellent”)
VideoYYYYYYYYYNNNYY90%(grade: “excellent”)

HTML5 Audio Codecs

PLATFORMMACWIN% Support
BrowserCHROMEFIREFOXOPERASAFARICHROMEFIREFOXOPERAIE
Version252012155.16251512678910
Audio: ogg/vorbisYYYYNNYYYNNNNN72%(grade: “good”)
Audio: mp3YNNNYYYNNNNNYY50%(grade: “limited”)
Audio: wavYYYYYYYYYNNNNN77%(grade: “excellent”)
Audio: AACYNNNYYYNNNNNYY50%(grade: “limited”)

HTML5 Video Codecs

PLATFORMMACWIN% Support
BrowserCHROMEFIREFOXOPERASAFARICHROMEFIREFOXOPERAIE
Version252012155.16251512678910
Video: ogg/theoraYYYYNNYYYNNNNN71%(grade: “good”)
Video: H.264YNNNYYYNNNNNYY50%(grade: “limited”)
Video: WebMYYYYNNYYYNNNNN58%(grade: “good”)

HTML5 Forms Inputs

PLATFORMMACWIN% Support
BrowserCHROMEFIREFOXOPERASAFARICHROMEFIREFOXOPERAIE
Version252012155.16251512678910
Form: PhoneYYYYYYYYYNNNNY71%(grade: “good”)
Form: URLYYYYYYYYYNNNNY69%(grade: “good”)
Form: EmailYYYYYYYYYNNNNY69%(grade: “good”)
Form: DateTimeNNYNNNNNYNNNNN5%(grade: “poor”)
Form: DateYNYYNNYNYNNNNN17%(grade: “poor”)
Form: MonthYNYYNNYNYNNNNN10%(grade: “poor”)
Form: WeekYNYYNNYNYNNNNN10%(grade: “poor”)
Form: TimeYNYYNNYNYNNNNN13%(grade: “poor”)
Form: LocalTimeYNYYNNYNYNNNNN10%(grade: “poor”)
Form: NumberYNYYYYYNYNNNNY40%(grade: “limited”)
Form: RangeYNYYYYYNYNNNNY47%(grade: “limited”)
Form: ColourYNYYNNYNYNNNNN13%(grade: “poor”)

HTML5 Forms Attributes

PLATFORMMACWIN% Support
BrowserCHROMEFIREFOXOPERASAFARICHROMEFIREFOXOPERAIE
Version252012155.16251512678910
Form: AutocompleteYYYYYYYYYNNNNY48%(grade: “limited”)
Form: AutofocusYYYYYYYYYNNNNY72%(grade: “good”)
Form: ListYYYYNNYYYNNNNY43%(grade: “limited”)
Form: PlaceholderYYYYYYYYYNNNNY71%(grade: “good”)
Form: MinYYYYYYYNYNNNNY55%(grade: “good”)
Form: MaxYYYYYYYNYNNNNY55%(grade: “good”)
Form: MultipleYYYYYYYYYNNNNY84%(grade: “excellent”)
Form: PatternYYYYYYYYYNNNNY71%(grade: “good”)
Form: RequiredYYYYYYYYYNNNNY71%(grade: “good”)
Form: StepYYYYYYYNYNNNNY55%(grade: “good”