Stil Kütüphanesi
Bu bölümde CSS kodlarının style etiketiyle yazdırılması ve kaynak kodun küçültülmesi (minify) ile ilgili kullanımlar anlatılmıştır.
Bu bölümde CSS kodlarının <style> etiketiyle yazdırılması ve kaynak kodun küçültülmesi (minify) ile ilgili kullanımlar anlatılmıştır.
Bölüm Başlıkları
# Yöntemler
| Style::open() : string |
| Style::close() : string |
| Style::type(string $type) : this |
| Style::library(string ...$libraries) : this |
| Style::tag() : this |
| Style::compress(callable|string $content) : string |
# Compress KUT 1.0’da desteklenir
CSS kodunu anlamını değiştirmeden küçültür: yorumlar ve gereksiz boşluklar kaldırılır, bildirim bloklarının son noktalı virgülü atılır. Tırnak içindeki metinler ve url(...) değerleri bayt bayt korunur. Kod içinde bir <style> sarmalayıcısı varsa çıkarılır.
Parametreler
| callable|string $content | CSS kodu ya da çıktısı CSS olan bir geri çağırım (çıktı tamponlanır). |
| return string | |
Kullanım
@Style::compress('.card { color : red ; /* not */ margin: 0 auto !important; }')
Style::tag() ile birlikte çağrıldığında çıktı otomatik olarak <style> etiketi içine alınır:
@Style::tag()->compress
({[|
.card { color: red; }
|]})
.card{color:red}
</style>
Bilinmesi gerekenler
- Seçicilerde iki nokta üst üsteden önceki boşluk korunur;
.a :hoverile.a:hoverfarklı seçicilerdir. +ve-çevresindeki boşluklara dokunulmaz;calc(100% - 2rem)geçerli kalır.- Küçültme sıkıştırma (gzip/brotli) yerine geçmez; sunucu sıkıştırmasıyla birlikte kullanılır.
# Dinamik Stil Dosyası
Ayarlara göre üretilen bir stil dosyası, görünümü CSS olarak basan bir kontrolcü aksiyonu ile sunulabilir. Tarayıcı dosyayı doğrudan istediği için aksiyon :void olarak işaretlenmez (void aksiyonlar yalnız AJAX isteklerinde çalışır) ve çıktı die() ile gönderilir.
namespace Project\Controllers;
use Style;
use Import;
class Styles extends Controller
{
public function theme()
{
$css = Style::compress((string) Import::usable()->view('Styles/theme'));
header('Content-Type: text/css; charset=utf-8');
die($css);
}
}
Görünüm (Views/Styles/theme.wizard.php) CSS kodunu bir <style> öğesi içinde yazar; bu öğe @media gibi kuralların şablon yönergesi olarak derlenmesini engeller. Wizard'ın bitişik }} dizisini yazdırma kapanışı saydığını unutmayın: iki kapanış süslü parantezinin arasına bir satır sonu koyun.