Style | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar style

Windows 10 UWP uygulamalarında ekran nesnelerine stil vermek – Inline

25 June 2016 Yorum yapılmamış

Windows 10 UWP uygulaması geliştirirken ekranda göstereceğimiz nesnelerin varsayılandan farklı gözükmesini isteriz.

Bunun için istediğimiz nesnelerin stillerini (Style) değiştirmemiz gerekir.

Hemen yeni bir proje oluşturalım ve stilleri nasıl değiştireceğimizi inceleyelim;

Projeyi oluşturduktan sonra, MainPage.xaml dosyasını açalım ve içerisini aşağıdaki şekilde değiştirelim;

Stilini değiştirmek istediğimiz nesnenin özelliklerini kullanarak farklı gözükmesini sağlayabiliyoruz. Örneğin, sayfaya bir Button nesnesi ekleyerek aşağıdaki özelliklerini değiştirebilir, ekranda varsayılan halinden farklı gözükmesini sağlayabiliriz;

  • Background
  • Foreground
  • BorderBrush
  • Margin
  • Padding

Sonuç aşağıdaki gibi olmalı;

HTML5 video element CSS3 ile efekt uygulamak

15 April 2016 Yorum yapılmamış

HTML5 ile gelen <video></video> elementine CSS3 ile stil uygulayarak efekt uygulayabiliyoruz. Örneğin, video element içerisinde oynayan videoyu siyah-beyaz yapmak, renk doygunluğu ile oynamak, flu hale getirmek, renkleri ters çevirmek, vs gibi efektler rahatlıkla programlanabiliyor.

Bu makalede yeni bir HTML5 sayfası oluşturarak, oynayan video’ya nasıl efekt verebileceğimizi göreceğiz.

Öncelikle yeni bir html sayfası oluşturalım;

Sayfanın <body></body> taglarının arasına video elementimizi ekleyelim;

Şimdi, <head></head> taglarının arasına yeni bir <style></style> element ekleyelim ve içerisine aşağıdaki stilleri yazalım;

Artık video elementine hangi efekti uygulamak istiyorsak, ilgili css class‘ını uygulamamız yeterli, örneğin;

HTML5 video element ile sayfanın arkaplanında video oynatmak

02 April 2016 Yorum yapılmamış

Son zamanlarda internette çeşitli sitelerin sayfalarının arkaplanlarını video haline getirdiklerini görüyoruz, örneğin;

Bu makalede bir web sayfasının arkaplanını video haline getireceğiz. Öncelikle yeni bir html sayfası oluşturalım;

Sayfanın <body></body> taglarının arasına video elementimizi ekleyelim;

Artık sayfada video elementimiz gözükecek, hatta video sonuna kadar oynadıktan sonra başa dönecek ve sessiz başlatılacak, fakat istediğimiz gibi sayfanın arkaplanını henüz kaplamıyor. <head></head> elementi içerisine <style></style> elementi ekleyelim ve aşağıdaki stili tanımlayalım;

Son olarak <head></head> elementi içerisine <script></script> elementi aracılığıyla aşağıdaki javascript kodunu ekleyelim ve böylece tarayıcının boyutlandırıldığı durumlarda sayfanın arkaplan video’sunu sayfanın içine tam sığacak şekilde boyutlandıralım;

Bu durumda sayfamızın arkaplanında tam ekran video oynayacak, istersek sayfaya butonlar, menüler, başlıklar, yazı alanları, linkler ekleyebileceğiz;

HTML5 lang ve charset attributes

05 March 2016 Yorum yapılmamış

HTML ve HTML5 sayfalarında aşağıdaki sebeplerden ötürü lang ve charset attribute‘lerini kullanmak faydalıdır;

  • Görme engellilerin kullandığı özel yazılım veya donanımlara gerekli dönüşümleri yapabilmesi için bilgi verir (Braille alfabesi)
  • Text-to-Speech (Metinden Yazıya) çeviri yapabilen yazılım veya donanımlara hangi dil setinin kullanılacağı konusunda bilgi verir
  • Daha sonra gerçekleştirilecek dil dönüşümü işlemleri için hangi dillerin desteklendiği konusunda bilgi verir

Böylece hem SEO açısından hem de daha fazla insanın ve yazılımın ilgili sayfayı daha başarılı kullanabilmesi bakımından lang ve charset attribute‘lerini kullanmak önemlidir.

lang attribute Global Set içerisinde tanımlı olduğu için bir html sayfasındaki tüm elementlerde kullanılabilir. Örneğin;

[code language=”xml”]<p lang="tr">Merhaba Dünya!</p>
<p lang="en">Hello World!</p>
<p lang="es">Hola Mundo!</p>[/code]

Genellikle ise, html elementin kendisinde kullanılır, örneğin;

[code language=”xml”]<!doctype html>
<html lang="tr">
<head>
<title>Merhaba Dünya</title>
</head>
<body>
</body>
</html>[/code]

Hatta, sayfaların ilgili dil’e göre ayrı stillendirilebilmesi bile mümkün, örneğin;

[code language=”css”]body {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
}
:lang(tr) {
color: red;
}
:lang(en) {
color: blue;
}
:lang(ar) {
color: green;
font-family: "Traditional Arabic", "Al Bayan", serif;
}[/code]

Böylece varsayılan yazı fontu Palatino Linotype olarak belirlendi, Türkçe sayfalarda yazı rengi red (kırmızı), İngilizce sayfalarda yazı rengi blue (mavi), Arapça sayfalarda yazı rengi green (yeşil) ve yazı fontu Traditional Arabic oldu.

Mutlaka html dokümanlarında character set’i tanımlamalıyız. Character Set‘i tanımlamak için charset attribute kullanmamız yeterli. charset attribute kullanmak için <head> element içerisine <meta> element eklememiz yeterli. Aşağıdaki iki farklı kullanım yöntemi de aynı şekilde çalışır, istediğimizi tercih edebiliriz;

[code language=”xml”]<head>
<meta charset="utf-8" />
</head>[/code]

[code language=”xml”]<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>[/code]

SASS (scss dosyaları) ile diziler ve döngüler

05 February 2016 Yorum yapılmamış

Bu makaleyi okumadan önce Asp.Net Kategorisindeki diğer makalelerimi ve SASS (scss dosyaları) nedir? makalesini okumanızı tavsiye ederim.

SASS dosyalarında birden fazla değişkenin bir dizi olarak ele alınmasını ve bu dizideki her eleman için bir css stili oluşmasını isteyebiliriz.

Örneğin SASS dosyamızda aşağıdaki değişkenleri tanımlamış olalım;

$Twitter: #41b7d8;
$Facebook: #3b5997;
$GooglePlus: #d64937;
$Linkedin: #0073b2;

SASS dosyalarında liste tipinde bir değişken tanımı yapmak için, değişkene değerleri virgüllerle ayırarak (comma-seperated) vermemiz lazım. Örneğin;

$SocialColors: $Twitter, $Facebook, $GooglePlus, $Linkedin;

Artık @for döngüsü yazarak $SocialColors dizisinin her bir elemanına erişebiliriz;

@for $i from 1 through length($SocialColours) {
	img-#{$i} {
		background: nth($SocialColors, $i);
	}
}

@for döngüsü ile döndüğümüz değişkenin kaçıncı elemanında olduğumuzu #{$i} kodu ile alabiliyoruz, herhangi bir dizinin istediğimiz sıradaki elemanını nth(dizi-adi, sira) kod parçası ile alabiliyoruz.

Yukarıdaki SASS kodunun css çıktısı aşağıdaki gibi olacaktır;

img-1 {
	background:#41b7d8
}
img-2 {
	background:#3b5997
}
img-3 {
	background:#d64937
}
img-4 {
	background:#0073b2
}

Peki, img-1, img-2, img-3 isimli stiller değil de, twitter, facebook, linkedin, isimli stiller oluşturmak isteseydik?

SASS dosyalarında Array (dizi) yerine, Dictionary (sözlük) tipinde değişkenler de oluşturabiliriz. Böylece her eleman iki parçadan oluşacak, örneğin biri değişkenin adını, diğeri rengini içerebilir;

$Social:
	(Twitter, $Twitter),
	(Facebook, $Facebook),
	(GooglePlus, $GooglePlus),
	(Linkedin, $Linkedin);

@each döngüsü ile $Social değişkeninin her elemanına ulaşabilir, ulaştığımız elemanın ilk parçasına $name değişkeni, ikinci parçasına $color değişkeni aracılığıyla ulaşabiliriz;

@each $name, $color in $Social {
	.social-link-#{$name} {
		background-color: $color;
		color: darken($color, 35%);
	}
}

Değişkenin adını, css çıktısına eklemek için #{} kod parçasını kullandık.

Yukarıdaki SASS kodunun css çıktısı aşağıdaki gibi olacaktır;

.social-link-Twitter {
	background-color:#41b7d8;
	color:#114655;
}
.social-link-Facebook {
	background-color:#3b5997;
	color:#090d17;
}
.social-link-GooglePlus {
	background-color:#d64937;
	color:#4b160f;
}
.social-link-Linkedin {
	background-color:#0073b2;
	color:#000;
}

darken() methodunu da kullanarak yazı renginin arkaplan renginden 35% daha koyu olmasını sağladık. Hatta background-image stiline dizi elemanının isminden değer vermek için aşağıdaki kodu kullanabiliriz;

background-image: url('/images/#{$name}.png');

Kaynak : SASSMeister