css3
css3 – Cascading Style Sheets
www.css3.info
- border image – tworzenie ramki z obrazka
- box shadow – tworzenie cieni (generator: http://css3generator.com/, http://www.cssmatic.com/box-shadow)
- multiple backgrounds – wyświetlenie równych obrazów tła – różne pozycjonowanie tła złożonego z wielu obrazów
- rzeczywiste nieprzeźroczystości
- text shadow – cienie na tekście (generator: http://css3gen.com/text-shadow/)
- podział na moduły
- nowe selektory, pseudoklasy, pseudoelementy
- nowe style i właściwości
pełna lista: www.css3.info/preview/
przykłady:
- box-decoration-break:
- clone dwa elementy dostają ten sam styl jak np padding left i right
- perspective: 1500px
- backface-visibility: hidden
- background-image: linear-gradient(to bottom right, $colorSecondaryLight, $colorSecondaryDark)
- background-blend-mode: screen
- clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%)
- pointer-events: none
- text-owerflow: ellipsis
- shape-outside: circle(50%)
- filter: blur(3px) brightness(80%)
- brightness – poniżej 100% z ciemnia obraz, powyżej 100% rozjaśnia
- object-fit: cover
- hyphens: auto
- columns:
- column-count: 2
- column-gap: 4rem
- column-rule: 1px solid $colorLine
- -webkit-backdrop-filter: blur(10px) – bluruje background pod popupem (na tą chwilę obsługiwane tylko przez Safari)
- @support ()
background-color: rgba($colorBlack, .8) @supports(-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px)) -webkit-backdrop-filter: blur(10px) backdrop-filter: blur(10px) background-color: rgba($colorBlack, .3)
przedrostki z symbolem przeglądarki:
- -webkit- (-webkit-box-shadow:) – Chrome, Safari
- -moz- (-moz-box-shadow:) -Mozilla Firefox
- -o- (-o-box-shadow:) – Opera
import styli:
@import url(„http://myWebSite.com/style/style.css”);
Moduły:
podział specyfikacji CSS na kilkanaście mniejszych części ściśle powiązanych z określonym zagadnieniem:
- CSSOM View
- Selectors
- Media Queries
- Marquee
- Image Values
- Flexible Box Layout
- 3D Transforms
- 2D Transforms
- Advenced layout
- Animations
- Attribute Syntax
- Syntax
- Aural Style Sheets
- Speech
- Backgrounds and Borders
- Basic User Interfaces
- Box Model
- Cascading and Inheritance
- Color
- Fonts
- Generated Contect for Paged Media
- Generated and Replaced Content
- Grid Positioning
- Hyperlink Presentation
- Introduction
- Line Layout
- Lists
- Maths
- Multi Column Layout
- Namespaces
- Object Model
- Paged Media
- Positioning
- Presentation Levels
- reader Media Types
- Ruby
- Scoping
- Tables
- Text
- Text Layout
- Transitions
- Values and Units
- Web Fonts
Selektory
selektor uniwersalny – * (The Universal Selector)
selektor potomka – p span
selektor dziecka – p > span, (The Direct Child Selector)
selektor rodzeństwa – p + span – styl dla elementu bezpośrednio sąsiadującego z pierwszym elementem, posiadających wspólnego rodzica, (The Adjacent Sibling Selector)
selektor ogólnego rodzeństwa – p ~ span – styl dla elementu znajdującego się (nie musi być bezpośrednio) po pierwszym elemencie, posiadających wspólnego rodzica, (The General Sibling Selector)
selektor atrybutu – np. title:
- p[title] – wszystkie zawierające jakąkolwiek wartość atrybutu
- p[title=orange] – zawierające podaną wartość
- p[title^=”hea”], p[title$=”ine”], p[title*=”headline”] – dopasowanie ciągu znaków, więcej o metaznakach
- a[rel=”external”]
- a[href]
- a:not([href])
- a[href^=”http:”]
- a[href$=”.png”]
- a[href*=”users”]
- img[width*=”200″;] {border: dotted 2px red}
- [alt=”logo”] – każdy img z altem ustawionym na logo
Pseudoklasy :
interakcje powiązane z działaniem użytkownika na stronie, stanem elementu
pseudoklasy odsyłaczy:
- :link – element a z atrybutem href
- :visited
- :hover
- :active – najechanie kursorem myszy, wciśnięcie przycisku ale nie zwolnienie
- :focus – wyświetlany link
- :target – zmiana elementu będącego kotwicą (jako a name=”myTarget”) po kliknięciu linku kierującego do niego
pseudoklasa językowa
- :lang
p:lang(en){color:blue;} p:lang(de){color:red;} <p lang="en">How are you</p> <p lang="de">Wie geht es dir</p>
pseudoklasy formularzy
- :enabled – input[type=”text”]:enabled{style}
- :disabled
- :checked
- :valid
- :invalid
- :in-range
- :out-of-range
pseudoklasy strukturalne
odwołanie do struktury dokumentu html
- :root – 'korzeń’ struktury, element html, działa na cały dokument
- :nth-child() – element posiadający przed sobą określoną liczbę rodzeństwa (nie musi być tego samego typu co formatowany element) w strukturze dokumentu, w () – słowo kluczowe, formuła
- (3) – trzeci element
- odd – nieparzyste elementy
- even – parzyste elementy
- aN+B
- aN – wartość skoku
- B – punkt rozpoczęcia
- :nth-last-child() – element od końca listy
- :nth-of-type() – element określonego typu mający przed sobą określoną liczbę rodzeństwa swojego typu
- :nth-last-of-type() – element określonego typu liczony od tyłu listy
- :first-child – pierwsze dziecko wybranego elementu
- :last-child – ostatnie dziecko wybranego elementu
- :first-of-type – pierwszy element określonego typu z listy mającej wspólnego rodzica
- :last-of-type – ostatni element określonego typu z listy mającej wspólnego rodzica
- :only-child – pierwsze i jedyne dziecko rodzica
- :only-of-type – pierwsze i jedyne dziecko określonego typu
- :empty – element który nie posiada dzieci i nie zawiera elementów w sobie
- :not() – element który nie jest argumentem (selektorem) podanym w nawiasie, bez konieczności podania selektora poprzedzającego pseudoklase -> :not(p)
ul > li:nth-child(-n+7) { color: red; } nth-child(3n+1):nth-child(even)
–
użycie:
a:after { content: " (" attr(href) ")"; } <p><a href="https://webscene.pl">WebScene</a> Baza wiedzy o WordPress, HTML5, CSS3, jQuery.</p>
daje efekt:
WebScene (https://webscene.pl) Baza wiedzy o WordPress, HTML5, CSS3, jQuery.
Pseudoelementy
- :first-letter
- :first-line
- :after – musi zawierać podany content=””
- :before – musi zawierać podany content=””
- ::selection – zaznaczony przez użytkownika tekst, dla Firefox ::-moz-selection
::selection{ background: #fedb03; color: #000; } ::-moz-selection { background: #fedb03; /* Firefox */ color:#000; }
–
calc()
width: calc(100% – 40px);
daje nam blok, nagłówek szeroki na cały ekran ale zawsze z 20px marginu po każdej stronie.
speak: none;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
css variables – css custom properties
- they can be manipulated in JS
- edit in devTools
- use in code function
- they cascade and they are inherited
- they have to be defined inside a scope, within declaration block
- :root – sudoclass – global parent element, css variables they will be accessible throught the entire element (kompilacja w sass – aby przeszła poprawnie \:root)
:root { --color-primary: #eb2f64 --color-primary-light: #ff3366 --color-primary-dark: #ba265d } body { background-image: linear-gradient(to right bottom, var(--color-primary-light), var(--color-primary-dark)) }
–
Hope this helps and happy coding :)
Zobacz jeszcze
Tworzenie własnych plugin'ów jQuery
Plugin'y biblioteki jQuery są deklarowane w metodzie jQuery.fn jQuery.fn.myOwnPlugin = function (){ //kod pluginu }; instrukacja odwołania się do...
metoda extend()własny plugin
mobilna aplikacja internetowa
pakiet programistyczny SDK (Software Development Kit) Emulator - aplikacja instalowana na komputerze w celu symulowania urządzeń przenośnych Emulator Apple Safari -...