HTML etiketlerinin amacı iletmek anlam belge. Web sayfanızın nasıl göründüğü konusunda endişelenmeyin. Kullanacağınız her etiketin anlamına odaklanın.
Yazdığınız içeriğe bağlı olarak metnin anlamı ile eşleşen uygun öğeyi seçebilirsiniz.
Menzil elemanlar malzemelere uyacak kadar geniştir genel hedefler (paragraflar veya listeler gibi) ve daha fazlası için özel içerik gibi
Yapısal Öğeler: Sayfa Organizasyonu
Yapısal öğeler, sayfanızın ana bölümlerini düzenlemenize olanak tanır. Genellikle diğer HTML öğelerini içerirler.
Tipik bir web sayfası şunları içerebilir:
olarak ilk bir logo ve slogan içerebilen sayfa öğesi; sayfa başlığı olarak;
bir blog yazısı gibi sayfanın ana içeriği olarak;
Metin Öğeleri: İçerik Tanımı
Genellikle bulduğunuz yapısal elemanların içinde Metin tanımlanacak öğeler hedef içeriğiniz.
Esas olarak şunları kullanacaksınız:
Paragraflar için;
- (sırasız) listeler için;
- (sıralı) listeler için;
- bireysel liste öğeleri için;
alıntılar için.
Satır içi öğeler: çeşitli metin
Metin öğeleri uzun olabileceğinden ancak farklı içeriğe sahip olabileceğinden, küçük harf elemanlar izin verir bir farklılık yaratmak metnin bölümleri.
Birçok satır içi öğe vardır, ancak genellikle aşağıdakilerle karşılaşırsınız:
Sadece bu HTML kodunu okuyarak her birinin ne anlama geldiğini kolayca anlayabilirsiniz. HTML öğesi.
Bazıları her türlü farklı şeyler ve bazıları özel ve hatta önemli sözler. Başka bir paragraf.Ana sayfa başlığı
Alt yazı
önceden söylenmiş
Ortak öğeler
Anlamsal öğelerden hiçbiri içeriğinize uymadığında, ancak yine de bir HTML öğesi eklemek istediğinizde (gruplama veya stil oluşturma amacıyla), iki seçenekten birini seçebilirsiniz. genel elementler:
- blok elemanları için;
- satır içi öğeler için.
Bu HTML öğeleri gerçekte herhangi bir şey taşımasa da anlam, CSS kullanmaya başladığımızda kullanışlı olacaklar.
anlambilim ile uğraşmayın
Aralarından seçim yapabileceğiniz yaklaşık 100 semantik HTML öğesi vardır. Bu çok fazla. Bu listeyi gözden geçirmek ve içeriğiniz için uygun öğeyi seçmek bunaltıcı olabilir.
Ancak bunun için endişelenmek için çok fazla zaman harcamayın. Şimdilik aşağıdaki listeye bağlı kalırsanız, bu yeterli olacaktır.
Yapısal Metin küçük harf
Dünyada çok sayıda şifre olduğu için tüm şifreleri sadece bu yazı çerçevesinde değil, sitenin tamamı çerçevesinde değerlendirmek mümkün değildir. Bu nedenle, en ilkel şifreleme sistemlerini, uygulamalarını ve şifre çözme algoritmalarını ele alacağız. Yazımın amacı, şifreleme/şifre çözme ilkelerini geniş bir kullanıcı kitlesine olabildiğince açık bir şekilde anlatmak ve aynı zamanda ilkel şifreleri öğretmektir.
Okulda bile, eski yoldaşlarımın bana bahsettiği ilkel bir şifre kullandım. İlkel bir şifreyi düşünelim "Harflerin sayılarla yer değiştirdiği bir şifre ve tam tersi."
Şekil 1'de gösterilen bir tablo çizelim. Rakamları yatay olarak bir ile başlayıp sıfır ile biten sırayla düzenliyoruz. Aşağıda, sayıların altında keyfi harfleri veya sembolleri değiştiriyoruz.
Pirinç. 1 Harflerin değiştirilmesiyle şifrenin anahtarı ve tam tersi.
Şimdi alfabenin numaralandırıldığı tablo 2'ye dönelim.
Pirinç. 2 Harflerin ve alfabe sayılarının yazışma tablosu.
Şimdi kelimeyi şifreleyelim K O S E R:
1) 1. Harfleri sayılara dönüştürün: K = 12, O = 16, C = 19, T = 20, Yo = 7, P = 18
2) 2. Tablo 1'e göre sayıları sembollere çevirelim.
KP KT KD PSHCH L KL
3) 3. Bitti.
Bu örnek, ilkel bir şifreyi göstermektedir. Karmaşıklık açısından benzer yazı tiplerini düşünelim.
1. 1. En basit şifre, HARFLERİ SAYILARLA DEĞİŞTİREN ŞİFREDİR. Her harf, alfabetik sıraya göre bir sayıya karşılık gelir. A-1, B-2, C-3, vb.
Örneğin "KASA" kelimesi "20 15 23 14" şeklinde yazılabilir ancak bu fazla bir gizlilik ve deşifre zorluğu yaratmaz.2. SAYISAL TABLO'yu kullanarak da mesajları şifreleyebilirsiniz. Parametreleri herhangi bir şey olabilir, asıl şey alıcının ve gönderenin bunun farkında olmasıdır. Dijital tablo örneği.
Pirinç. 3 Sayısal tablo. Şifredeki ilk rakam bir sütun, ikincisi bir satır veya tam tersi. Böylece "MIND" kelimesi "33 24 34 14" olarak şifrelenebilir.
3. 3. KİTAP ŞİFRESİ
Böyle bir şifrede anahtar, hem gönderenin hem de alıcının sahip olduğu belirli bir kitaptır. Şifre, kitabın sayfasını ve ilk kelimesi ipucu olan satırı belirtir. Gönderen ve muhabirin farklı yayın ve yayın yıllarında kitapları varsa şifre çözme mümkün değildir. Kitaplar birbirinin aynısı olmalıdır.4. 4. SEZAR ŞİFRESİ(kaydırma şifresi, Sezar kayması)
Bilinen şifre. Bu şifrenin özü, alfabede solunda veya sağında belirli bir sabit sayıda konumda bulunan bir harfin diğeriyle değiştirilmesidir. Gaius Julius Caesar, askeri iletişimi korumak için generalleriyle yazışmalarında bu şifreleme yöntemini kullandı. Bu şifrenin kırılması oldukça kolaydır, bu nedenle nadiren kullanılır. 4 ile kaydırın. A = E, B= F, C=G, D=H, vb.
Sezar şifresine bir örnek: " İNDİRİM " kelimesini şifreleyelim.
Şunu elde ederiz: GHGXFWLRQ . (3 ile kaydır)Başka bir örnek:
K=3 anahtarını kullanarak şifreleme. "C" harfi üç harf ileri "kaydırır" ve "F" harfi olur. Üç harf ileriye doğru hareket ettirilen düz bir işaret "E" harfi olur ve böyle devam eder:
Kaynak alfabesi: A B C D E F G I J K L M N O P R S T U V W Y Z
Şifreli: D E F G H I J K L M N O P R S T U V W Y Z A B C
Orjinal metin:
O yumuşak Fransız çöreklerinden biraz daha ye ve biraz çay iç.
Şifreli metin, orijinal metnin her harfinin şifre alfabesinin karşılık gelen harfiyle değiştirilmesiyle elde edilir:
Fezyya iz zyi akhlsh pvenlsh chugrschtskfnlsh dtsosn, zhg eyutzm gb.
5. KOD KELİME İLE ŞİFRE
Hem şifreleme hem de şifre çözmede başka bir basit yol. Bir kod kelimesi kullanılır (harfleri tekrar etmeyen herhangi bir kelime). Bu kelime alfabenin önüne eklenir ve kod kelimesinde bulunanlar hariç kalan harfler sırayla eklenir. Örnek: kod kelimesi NOTEPAD'dir.
Kaynak: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Yenisiyle değiştirme: N O T E P A D B C F G H I J K L M Q R S U V W X Y Z6. 6. ATBASH KODU
En kolay şifreleme yöntemlerinden biri. Alfabenin ilk harfinin yerini sonuncusu, ikincisinin sondan bir önceki harfi vb.
Örnek: "BİLİM" = HXRVMXV7. 7. FRANCIS BACON ŞİFRESİ
En basit şifreleme yöntemlerinden biri. Şifreleme için Bacon şifre alfabesi kullanılır: kelimenin her harfi, "A" veya "B" (ikili kod) beş harfli bir grupla değiştirilir.a AAAAA g AABBA m ABABB s BAAAB y BABBA
b AAAAB h AABBB n ABBAA t BAABA z BABBB
c AAABA i ABAAA o ABBAB u BAABB
d AAABB j BBBAA p ABBBA v BBBAB
e AABAA k ABAAB q ABBBB w BABAA
f AABAB l ABABA r BAAAA x BABAB
Şifre çözmenin karmaşıklığı, şifrenin belirlenmesinde yatmaktadır. Bir kez tanımlandıktan sonra, mesaj kolayca alfabetik hale getirilir.
Kodlamanın birkaç yolu vardır.
İkili kod kullanarak bir cümleyi şifrelemek de mümkündür. Parametreler tanımlanmıştır (örneğin, "A" - A'dan L'ye, "B" - L'den Z'ye). Yani BAABAAAAABAAAABABABB, Kesinti Bilimi demektir! Bu yöntem daha karmaşık ve sıkıcıdır, ancak alfabetik versiyondan çok daha güvenilirdir.8. 8. MAVİ VİGENERE ŞİFRESİ.
Bu şifre, İç Savaş sırasında Konfederasyonlar tarafından kullanıldı. Şifre, farklı kaydırma değerlerine sahip 26 Sezar şifresinden oluşur (Latin alfabesinin 26 harfi). Şifreleme için Tabula recta (Vigenère karesi) kullanılabilir. Öncelikle anahtar kelime ve kaynak metin seçilir. Anahtar sözcük, orijinal metnin tüm uzunluğunu doldurana kadar döngüsel olarak yazılır. Tablo boyunca, anahtarın ve düz metnin harfleri tabloda kesişir ve şifreli metni oluşturur.Pirinç. 4 Blaise Vigenère şifresi
9. 9. LESTER HILL ŞİFRESİ
Lineer cebire dayalı. 1929'da icat edildi.
Böyle bir şifrede her harf bir sayıya karşılık gelir (A = 0, B = 1, vb.). Bir n-harf bloğu, n-boyutlu bir vektör olarak ele alınır ve bir (n x n) matris mod 26 ile çarpılır. Matris, şifre anahtarıdır. Şifreyi çözebilmek için Z26n'de tersine çevrilebilir olmalıdır.
Mesajın şifresini çözmek için, şifreli metni tekrar bir vektöre dönüştürmek ve anahtar matrisinin tersi ile çarpmak gerekir. Daha fazla bilgi için - Vikipedi kurtarmaya.10. 10. TRITEMIUS ŞİFRESİ
Geliştirilmiş bir Sezar şifresi. Şifreyi çözerken, formülü kullanmak en kolay yoldur:
L= (m+k) modN , L alfabedeki şifreli harfin numarası, m alfabedeki şifreli metnin harfinin seri numarası, k kaydırma numarası, N harf sayısıdır alfabe.
Afin şifrenin özel bir halidir.11. 11. MASONİK SİFER
12. 12. GRONSFELD CYFER
Bu şifrenin içeriği, Sezar şifresini ve Vigenère şifresini içerir, ancak Gronsfeld şifresi sayısal bir anahtar kullanır. “THALAMUS” kelimesini anahtar olarak 4123 rakamını kullanarak şifreliyoruz.Sayısal anahtarın rakamlarını kelimenin her harfinin altına sırayla giriyoruz. Harflerin altındaki sayı, harflerin kaydırılması gereken konumların sayısını gösterecektir. Örneğin, T yerine X elde edersiniz, vb.
T H A L A M U S
4 1 2 3 4 1 2 3T U V W X Y Z
0 1 2 3 4Sonuç: THALAMUS = XICOENWV
13. 13. DOĞU LATİN
Daha sık çocukların eğlencesi olarak kullanılır, deşifre etmede herhangi bir özel zorluğa neden olmaz. İngilizce kullanımı zorunludur, Latince'nin bununla hiçbir ilgisi yoktur.
Ünsüzlerle başlayan sözcüklerde bu ünsüzler geriye alınır ve ay “son eki” eklenir. Örnek: soru = estionquay. Sözcük sesli harfle başlıyorsa, sonuna ay, way, yay veya hay basitçe eklenir (örnek: a dog = aay ogday).
Rusça'da bu yöntem de kullanılır. Buna farklı diyorlar: “mavi dil”, “tuzlu dil”, “beyaz dil”, “mor dil”. Böylece Mavi dilde, sesli harf içeren bir heceden sonra, aynı sesli harfe sahip bir hece eklenir, ancak “c” ünsüzünün eklenmesiyle (dil mavi olduğu için). Örnek: Bilgi talamusun çekirdeğine girer = Insiforsomasacisia possotusupasesa çekirdek rasa tasalasamusususas'ta.
Oldukça ilginç bir seçenek.14. 14. POLİBİUS KARE
Dijital masa gibi. Polybius karesini kullanmanın birkaç yöntemi vardır. Polybius karesine bir örnek: 5x5'lik bir tablo yapıyoruz (alfabedeki harf sayısına bağlı olarak 6x6).1 YÖNTEM. Kelimedeki her harf yerine aşağıdan karşılık gelen harf kullanılır (A = F, B = G, vb.). Örnek: ŞİFRE - HOUNIW.
2 YÖNTEM. Tablodan her harfe karşılık gelen sayılar belirtilmiştir. İlk sayı yatay, ikincisi - dikey olarak yazılır. (A=11, B=21…). Örnek: ŞİFRE = 31 42 53 32 51 24
3 YÖNTEM. Bir önceki yöntemden yola çıkarak ortaya çıkan kodu birlikte yazalım. 314253325124. Bir konum sola kaydırma yapıyoruz. 142533251243. Yine kodu çiftlere bölüyoruz 14 25 33 25 12 43. Sonuç olarak bir şifre alıyoruz. Sayı çiftleri tablodaki bir harfe karşılık gelir: QWNWFO.Çok sayıda şifre var ve kendi şifrenizi de oluşturabilirsiniz, ancak güçlü bir şifre icat etmek çok zordur, çünkü şifre çözme bilimi bilgisayarların gelişiyle çok ileri adım attı ve herhangi bir amatör şifre kırılacak. uzmanlar tarafından çok kısa sürede
Monoalfabetik sistemleri açma yöntemleri (kod çözme)
Uygulamadaki basitlikleri ile tek alfabetik şifreleme sistemleri kolayca savunmasızdır.
Bir afin sistemdeki farklı sistemlerin sayısını belirleyelim. Her anahtar, ax+b eşlemesini tanımlayan bir çift a ve b tamsayısıyla tam olarak tanımlanır. a için j(n) olası değerleri vardır, burada j(n), n ile asal sayıların sayısını döndüren Euler işlevidir ve b için, özdeşlik dışında, a'dan bağımsız olarak kullanılabilecek n değerleridir. göz önünde bulundurmayacağımız eşleme (a=1 b =0).
Böylece j(n)*n-1 olası değerler vardır ki bu çok fazla değildir: n=33 ile a için 20 değer olabilir (1, 2, 4, 5, 7, 8, 10, 13, 14 , 16, 17, 19, 20, 23, 25, 26, 28, 29, 31, 32), toplam tuş sayısı 20*33-1=659'dur. Bir bilgisayar kullanırken bu kadar çok sayıda anahtarın numaralandırılması zor değildir.
Ancak bu aramayı basitleştiren ve daha karmaşık şifrelerin analizinde kullanılabilecek yöntemler var.
frekans analizi
Böyle bir yöntem frekans analizidir. Şifreli metindeki harflerin dağılımı, orijinal mesajın alfabesindeki harflerin dağılımı ile karşılaştırılır. Şifreli metinde en yüksek frekansa sahip harfler alfabeden en yüksek frekansa sahip harf ile değiştirilir. Başarılı bir açılış olasılığı kriptometnin uzunluğu ile artar.
Belirli bir dilde harflerin dağılımına ilişkin birçok farklı tablo vardır, ancak bunların hiçbiri kesin bilgi içermez - hatta farklı tablolardaki harflerin sırası bile farklılık gösterebilir. Harflerin dağılımı büyük ölçüde testin türüne bağlıdır: düzyazı, konuşma dili, teknik dil vb. Laboratuar çalışması için kılavuzlar, çeşitli diller için frekans özellikleri verir; bunlardan I, N, S, E, A (I, N, C, E, A) harflerinin yüksek frekansta göründüğü açıktır. Her dilin sınıfı.
Frekans sayımına dayalı saldırılara karşı en basit koruma, bir düz metin karakterinin birkaç şifreli metin karakteriyle eşlendiği tek sesli ikame şifreleri olan sesteş sözcükler sistemi (HOMOPHONES) tarafından sağlanır, sayıları harfin frekansıyla orantılıdır. Orijinal mesajın harfini şifreleyerek, yerine rastgele birini seçiyoruz. Bu nedenle, basit bir frekans hesaplaması kriptanaliste hiçbir şey vermez. Bununla birlikte, çeşitli doğal dillerde harf çiftlerinin ve üçlülerinin dağılımı hakkında bilgi mevcuttur.Veya ikameler. Kaynak metnin alfabesi ile kod sembolleri arasında bire bir yazışma tablosu derlenir ve bu tabloya göre bire bir kodlama gerçekleşir. Kodu çözmek için kod tablosunu bilmeniz gerekir.
İnsan hayatının farklı alanlarında kullanılan çok sayıda kod vardır. Bilinen kodlar çoğunlukla bilgiyi şu ya da bu şekilde iletme kolaylığı için kullanılır. Kod tablosu yalnızca gönderen ve alan tarafından biliniyorsa, frekans analizine kolayca uygun olan oldukça ilkel bir şifre elde edilir. Ancak bir kişi kodlama teorisinden uzaksa ve metnin frekans analizine aşina değilse, bu tür şifreleri çözmek onun için oldukça sorunludur.
A1Z26
En basit şifre. A1Z26 veya Rus versiyonu A1Ya33 olarak adlandırılır. Alfabedeki harfler seri numaralarıyla değiştirilir.
"NoZDR", 14-15-26-4-18 veya 1415260418 olarak şifrelenebilir.
Mors kodu
Harfler, sayılar ve bazı karakterler, radyo, ses, vuruş, hafif telgraf ve bayrak bayraklarıyla iletilebilen bir dizi nokta ve tire ile ilişkilendirilir. Sayfada mors kodu hakkında daha fazla bilgi edinebilirsiniz.
Braille alfabesi
Braille, görme engelliler için hücre adı verilen altı noktalı karakterlerden oluşan dokunsal bir okuma sistemidir. Hücre üç nokta yüksekliğinde ve iki nokta genişliğindedir.
Noktalar bir hücre içinde farklı konumlara yerleştirilerek farklı braille karakterleri oluşturulur.
Kolaylık sağlamak için, okuma sırasında noktalar şu şekilde tanımlanır: soldan yukarıdan aşağıya 1, 2, 3 ve sağdan yukarıdan aşağıya 4, 5, 6.
Metin derlenirken aşağıdaki kurallara uyulur:
kelimeler arasında bir hücre (boşluk) atlanır;
virgül ve noktalı virgülden sonra hücre atlanmaz;
tire önceki kelimeyle birlikte yazılır;
Sayıdan önce sayısal bir işaret gelir.
Kod sayfaları
Bilgisayar görevlerinde ve bilmecelerde harfler çeşitli kod sayfalarında - bilgisayarlarda kullanılan tablolarda - kodlarına göre kodlanabilir. Kiril metinleri için en yaygın kodlamaları kullanmak en iyisidir: Windows-1251, KOI8, CP866, MacCyrillic. Karmaşık şifreleme için daha egzotik bir şey seçebilirsiniz.
Onaltılık sayılarla kodlayabilir veya bunları ondalık sayıya dönüştürebilirsiniz. Örneğin, KOI8-R'deki Yo harfi B3 (179), CP866'da F0 (240) ve Windows-1251'de A8 (168)'dir. Ve sağ tablolardaki harflerin soldakilerde bir eşleşme araması mümkündür, daha sonra metnin “çılgın” tipte yazıldığı ortaya çıkacaktır. èαᬫº∩íαδ (866→437) veya Êðàêîçÿáðû (1251→Latin-1).
Burada https://www.artlebedev.ru/tools/decoder/advanced/ bu tür şifreli metinler için iyi bir kod çözücü var :)
Masonik şifre
Masonik şifre, Pigpen veya Tic-Tac-Toe olarak da bilinir. Bu şifre, alfabenin her harfinin aşağıdaki ızgaralardan biri kullanılarak hesaplanan bir grafik sembolüne karşılık geldiği basit bir ikame şifresidir.
Bu şifreyi kullanarak belirli bir harfi şifrelemek için önce dört ızgaradan birinde bu harfin bulunduğu yeri belirlemeli, ardından ızgaranın bu harfi çevreleyen kısmını çizmelisiniz. Yani, şöyle bir şey:
Anahtarı biliyorsanız (harflerin ızgaralarda nasıl düzenlendiğini), böyle bir yazıyı çözmek oldukça kolaydır. Ancak, ızgaralardaki harfler başlangıçta bilinmeyen bir kurala göre düzenlenirse (bir anahtar kelimeyle, dönüşümlü veya hatta rastgele), o zaman bu durumda her zaman yardımcı olabilir.
Harfler yerine grafik sembollerin kullanılması kriptanaliz için pek bir engel teşkil etmez ve sistem diğer basit monoalfabetik ikame şemalarıyla aynıdır. Basitliği nedeniyle, bu şifre genellikle çocuk kitaplarında şifreleme, kriptografi ve diğer her türlü casuslukla ilgili olarak bahsedilir.
Şifrenin kesin çıkış zamanı bilinmiyor, ancak bu sistemin bulunan kayıtlarından bazıları 18. yüzyıla kadar uzanıyor. Bu şifrenin çeşitleri Gül Haç düzeni ve Masonlar tarafından kullanılmıştır. İkincisi, onu gizli belgelerinde ve yazışmalarında oldukça sık kullandı, bu yüzden şifreye Masonik şifre denilmeye başlandı. Masonların mezar taşlarında bile bu şifrenin kullanıldığı yazıtları görebilirsiniz. Benzer bir şifreleme sistemi Amerikan İç Savaşı sırasında George Washington'un ordusu tarafından ve Amerika Birleşik Devletleri Konfedere Devletleri'ndeki federal hapishanelerdeki mahkumlar tarafından kullanıldı.
Aşağıda, bu tür şifrelerin ızgarasını doldurmak için iki (mavi ve kırmızı) seçenek bulunmaktadır. Harfler çiftler halinde düzenlenmiştir, çiftin ikinci harfi noktalı bir sembol olarak çizilir:
Yazarın şifreleri
Alfabenin bir karakterinin (harf, sayı, noktalama işareti) bir (daha az sıklıkla daha fazla) grafik karaktere karşılık geldiği çok çeşitli şifreler icat edilmiştir. Çoğu bilim kurgu filmlerinde, çizgi filmlerde ve bilgisayar oyunlarında kullanılmak üzere tasarlanmıştır. İşte onlardan bazıları:
dans eden erkekler
En ünlü yazar değiştirme şifrelerinden biri "" dir. İngiliz yazar Arthur Conan Doyle tarafından Sherlock Holmes hakkındaki eserlerinden birinde icat edildi ve tanımlandı. Alfabedeki harflerin yerini farklı pozlardaki küçük adamlara benzeyen semboller alıyor. Kitapta, küçük adamlar alfabenin tüm harfleri için icat edilmedi, bu yüzden hayranlar karakterleri yaratıcı bir şekilde sonlandırdı ve yeniden çalıştı ve bu şifre:
Thomas Daha fazla alfabe
Ancak böyle bir alfabe, 1516'da Thomas More tarafından "Ütopya" adlı tezinde tanımlandı:
Gravity Falls'tan Bill Cipher Cipher
Star Wars'tan Jedi alfabesi
Futurama'dan uzaylı alfabesi
Superman'in Kripton Alfabesi
Biyonik alfabeler
HTML kodunun anlamı her zaman sıcak bir konudur. Bazı geliştiriciler her zaman anlamsal kod yazmaya çalışır. Diğerleri dogmatik taraftarları eleştirir. Hatta bazılarının ne olduğu ve neden gerekli olduğu hakkında hiçbir fikri yok. Semantik, HTML'de amacı açıklayan ancak içerdikleri içeriği tam olarak belirtmeyen etiketler, sınıflar, kimlikler ve niteliklerde tanımlanır. Yani, içeriğin ve biçiminin ayrılmasından bahsediyoruz.
Açık bir örnekle başlayalım.
Kötü kod semantiği
Makale başlığıve yazarInko Gnito.İyi kod semantiği
Makale başlığı
Birisi tarafından yazılmış bir makalenin metni. Inko Gnito- yazarı.
HTML5'in kullanıma hazır olduğunu düşünseniz de düşünmeseniz de, etiketin kullanımı kesindir.
bu durumda normalden daha çekici olacak sınıfı belirtir. Makalenin başlığı başlık olur, içerik paragraf olur ve kalın metin bir etiket olur. .Ancak her şey HTML5 etiketleri tarafından çok net bir şekilde temsil edilmez. Bir dizi sınıf adına bakalım ve anlamsal gereksinimleri karşılayıp karşılamadıklarını görelim.
Anlamsal kod değil. Bu klasik bir örnek. Izgaralar için her CSS tezgahı, ızgara öğelerini tanımlamak için bu tür sınıf adlarını kullanır. "yui-b", "grid-4" veya "spanHalf" olsun - bu tür adlar içeriği tanımlamaktan çok biçimlendirmeyi tanımlamaya daha yakındır. Bununla birlikte, modüler ızgara desenleriyle çalışırken çoğu durumda kullanımları kaçınılmazdır.
anlamsal kod. Altbilgi (altbilgi) web tasarımında kalıcı bir değer haline geldi. Bu, tekrarlanan gezinme, kullanım hakları, yazar bilgileri vb. öğeleri içeren sayfanın alt kısmıdır. Bu sınıf, açıklamaları olmadan tüm bu öğeler için bir grup tanımlar.
HTML5 kullanmaya geçtiyseniz, öğeyi kullanmak daha iyidir
Anlamsal kod değil.İçeriği doğru bir şekilde tanımlar. Ama metin neden büyük olmak zorunda? Diğer küçük metinlerden öne çıkmak için mi? "standOut" (seçim) bu durumda daha uygundur. Seçim metninin stilini değiştirmeye karar verebilirsiniz, ancak boyutu hakkında hiçbir şey yapmayın, bu durumda sınıf adı sizi şaşırtabilir.
anlamsal kod. Bu durumda, uygulama arayüzündeki bir öğenin (örneğin bir paragraf veya bir düğme) önem düzeyini belirlemekten bahsediyoruz. Daha yüksek düzeydeki bir öğe parlak renklere ve daha büyük bir boyuta sahip olabilirken, daha düşük düzeydeki bir öğe daha fazla içerik içerebilir. Ancak bu durumda stillerin kesin bir tanımı yoktur, bu nedenle kod anlamsaldır. Bu durum etiketleri kullanmaya çok benzer.
,
,
, vb., ancak diğer arabirim öğelerine.
anlamsal kod. Keşke her sınıf adı bu kadar net bir şekilde tanımlanabilseydi! Bu durumda, "tweetler", "sayfalandırma" veya "yönetici-nav" gibi amacının açıklanması kolay içeriğe sahip bir bölüm açıklamamız var.
Anlamsal kod değil. Bu durumda, sayfadaki ilk paragrafın stilini ayarlamaktan bahsediyoruz. Bu teknik, okuyucuların dikkatini materyale çekmek için kullanılır. Öğeden bahsedilmeyen "giriş" adını kullanmak daha iyidir. Ancak bu tür paragraflar için p:first-of-type makalesi veya h1 + p gibi bir seçici kullanmak daha da iyidir.
Anlamsal kod değil. Bu, öğe biçimlendirmesini düzenlemek için kullanılan çok genel bir sınıf adıdır. Ancak içeriğin açıklamasıyla ilgili hiçbir şey yok. Çeşitli semantik teorisyenler, bu gibi durumlarda "grup" gibi bir sınıf adı kullanılmasını önerir. Haklı olmaları muhtemeldir. Bu öğe kuşkusuz diğer birçok öğeyi gruplandırmaya hizmet ettiğinden ve önerilen ad, ayrıntılara girmeden amacını daha iyi açıklayacaktır.
Anlamsal kod değil.İçerik biçiminin çok ayrıntılı açıklaması. Biçimi yerine içeriği tanımlayacak farklı bir ad seçmek daha iyidir.
anlamsal kod. Sınıf, içeriğin durumunu çok iyi açıklıyor. Örneğin, bir başarı mesajı, bir hata mesajından tamamen farklı bir stile sahip olabilir.
Anlamsal kod değil. Bu örnek, amacını değil, içerik biçimi tanımını belirtmeye çalışır. "sade-jane", "normal" veya "düzenli"ye çok benzer. İdeal CSS kodu, içeriğin formatını tanımlayan "regular" gibi sınıf isimlerine gerek kalmayacak şekilde yazılmalıdır.
Anlamsal kod değil. Bu tür sınıflar tipik olarak, bağlantı zincirine dahil edilmemesi gereken site öğelerini tanımlamak için kullanılır. Bu durumda, bağlantılar için rel=nofollow gibi bir şey kullanmak daha iyidir, ancak tüm içerik için bir sınıf kullanmamak daha iyidir.
Anlamsal kod değil. Bu, içeriğin amacını değil biçimini tanımlama girişimidir.
Fakat...
Diyelim ki sitenizde iki makale var. Ve onlara farklı stiller vermek istiyorsunuz. Film İncelemeleri mavi bir arka plana sahip olacak, Breaking News ise kırmızı bir arka plana ve daha büyük bir yazı tipine sahip olacak.
Sorunu çözmenin bir yolu şudur:
... ... Başka bir yol şudur:
... ... Elbette, birkaç geliştiriciye hangi kodun anlambilim gereksinimleriyle daha tutarlı olduğunu sorarsanız, çoğunluk ilk seçeneğe işaret edecektir. Bu dersin materyaliyle mükemmel bir şekilde eşleşiyor: biçimlendirmeye atıfta bulunmadan amacın bir açıklaması. Ve ikinci seçenek formatı belirtir ("blueBg", "mavi arka plan" anlamına gelen iki İngilizce kelimeden oluşan sınıfın adıdır). Aniden film incelemelerinin tasarımını değiştirmek için bir karar verilirse - örneğin, yeşil bir arka plan yapmak için, o zaman "blueBg" sınıf adı bir geliştiricinin kabusuna dönüşecektir. Ve "film incelemesi" adı, mükemmel düzeyde kod desteğini korurken tasarım stillerini değiştirmeyi kesinlikle kolaylaştıracak.
Ancak hiç kimse ilk örneğin istisnasız her durumda daha iyi olduğunu iddia etmez. Diyelim ki sitede birçok yerde mavinin belli bir tonu kullanılıyor. Örneğin, altbilginin bir kısmı ve kenar çubuğundaki alanlar için arka plandır. Aşağıdaki seçiciyi kullanabilirsiniz:
Film incelemesi, altbilgi > div:türü(2), kenara > div:türü(4) ( background: #c2fbff; )
Renk sadece tek bir yerde belirlendiği için etkili bir çözüm. Ancak, görsel olarak algılanması zor olan uzun bir seçiciye sahip olduğundan, bu tür bir kodun bakımı zorlaşır. Ayrıca, diğer seçicilerin benzersiz stiller tanımlamasını gerektirecek ve bu da kod tekrarına yol açacaktır. Veya farklı bir yaklaşım benimseyip onları ayrı bırakabilirsiniz:
Film incelemesi ( arka plan: #c2fbff; /* Renk tanımı */ ) altbilgi > div:nth-of-type(2) ( background: #c2fbff; /* Ve bir tane daha */ ) kenara > div:nth-of- type(4) ( background: #c2fbff; /* Ve bir tane daha */ )
Bu stil, CSS dosyasını daha düzenli tutmaya yardımcı olur (farklı bölümlerde farklı alanlar tanımlanır). Ancak fiyat, tanımların tekrarıdır. Büyük siteler için aynı rengin tanımı birkaç bin kata ulaşabilir. Korkunç! Olası bir çözüm, rengi bir kez tanımlamak için "blueBg" gibi bir sınıf kullanmak ve tasarımın kullanılması gerektiğinde HTML'ye eklemek olabilir. Elbette, biçimlendirme açıklamasından kurtulmak için "mainBrandColor" veya "secondaryFont" olarak adlandırmak daha iyidir. Kaynakları kurtarmak için kod semantiğini feda edebilirsiniz.
Ve yorumlardaki mantığa göre, HTML dili ve kullandığı etiketler hakkında konuşmadan önce anlamanız gereken önemli bir noktayı açıklığa kavuşturmak istiyorum.
Bu an, böyle önemli bir kavramı anlamaktır. kod semantiği. Bu notta bu konuyu ve tüm bunların neden gerekli olduğunu ele almaya çalışalım.
Ne kod semantiği?
anlambilim(dilbilimsel açıdan) bir dilin veya onun bireysel biriminin anlamı, bilgi içeriğidir.
Bildiğimiz gibi, HTML dilinin yapısal birimleri etiketlerdir, anlam, bilgi içeriği taşıyan çok ayrı birimlerdir.
İnternette bir web sayfasında sunulması gereken bazı bilgiler önümüze çıktığında öncelikle bu bilgilerin hangi kısmının ne olduğunu bilgisayara açıklamamız gerekir. Bunu bilmeden, tüm içeriği doğru bir şekilde görüntüleyemeyecektir.
Böylece, HTML dilini kullanarak bir web sayfası oluşturduğumuzda, bilgisayara hangi öğenin sayfada hangi rolü oynaması gerektiğini açıklıyoruz.
Bir web sayfasının her bir öğesinin içeriğinin, mantıksal ve anlamsal amaçlarına karşılık gelen etiketler içine alınması gerektiğini anlamalıyız.
Şunlar. metindeki başlıklar h 1-h 6 etiketleri, paragraflar p etiketleri, listeler ul /ol (li ) etiketleri vb. olacaktır.
Bu koşulları sağlayan koda denir. anlamsalşunlar. web sayfasındaki her öğe şuna karşılık gelir: doğru semantik anlam.
Şimdi soru şu, bir web sayfasındaki başlığı bir paragraf etiketine sarabilir miyiz?
Neden? Elbette yapabiliriz. Pek çoğu diyecek, ama bunu yaparken h 1-h 6 başlıklarının sahip olduğu tasarımı kaybediyoruz ama aslında tasarımın burada herhangi bir rolü yok. CSS stilleriyle, herhangi bir paragrafa h 1-h 6 öğesiyle tamamen aynı stili verebiliriz.Buradan çıkarmamız gereken sonuç, kod semantiği ve tasarımın birbiriyle karıştırılmaması gereken iki farklı şey olduğudur. Her etikete belirli bir tasarım atanır, ancak kolayca değiştirilebilir, ancak bu etiketin anlamsal anlamını değiştirmek artık mümkün değildir.
Başlığı bir paragraf içine alabiliriz, ancak kodun anlamı kaybolmuş ve bu metin tamamen farklı bir anlam taşıyacaktır.
Bu nedenle, bir öğeyi herhangi bir etikete dahil etmeden önce, sayfada hangi işlevi, anlamı taşıdığını düşünmek tavsiye edilir?
Mantıklı bir soru ortaya çıkıyor, neden bu durumda kod semantiğine ihtiyacımız var?
Neden başlıklar başlık olmalı, paragraflar paragraf olmalı, kısaltmalar kısaltma olmalı vs.?
Benim düşünceme göre, anlamsal koda yönelmenize yardımcı olacak birkaç neden var. Anlamsal işaretleme bize ne verir?
1) Varsayılan tarayıcının bu veya bu öğeyi sayfada nasıl görüntüleyeceği hakkında bilgi;
Örneğin, h 1 başlığının, herhangi bir özel stil vermediğimiz takdirde sayfada 2em boyutunda ve koyu olarak görüntülendiğini biliyoruz. Ama bence, bu en önemsiz sebep.
2) Semantik kod, arama motorları tarafından daha iyi okunur ve algılanır;
Semantik işaretlemeye (ceteris paribus) sahip bir sayfanın, arama motoru sonuçlarında anlamsal olmayan koda sahip bir sayfadan daha üst sıralarda yer alacağına inanılmaktadır.
2) Kod daha insan dostudur;
Metnin bu bölümünün bir paragraf, bu kısaltma vb. tüm bilgilerin tek bir sürekli yapıda gittiği ve yazarın ne söylemek istediğinin net olmadığı koddan çok daha kolay.
3) Elemana erişmek daha kolaydır ve sonuç olarak daha fazla esneklik.
Kodunuzu anlamsal hale getirerek, web sayfalarındaki CSS, Javascript vb. öğelerle çalışan özel araçlar kullanarak bu öğelere çok daha kolay erişebilirsiniz.
Sayfanızdaki tüm kısaltmaları abbr etiketine, ardından CSS'ye eklerseniz, sayfanızdaki tüm kısaltmaların kırmızıya dönmesi için yazmanız yeterli olacaktır.
kısalt (renk :kırmızı ;)
Her bir kısaltma için bu kuralı HTML'de vurgulamak ve reçete etmek yerine.
Bu, pek çok örneği olan sadece bir örnek.
Bu nedenlerle anlamsal kodun belgemize daha fazla güç verdiği anlaşılmalıdır. Bazı etiketleri sitenin semantiğini iyileştirmek ve daha fazla işlevsellik elde etmek için kullanabilir veya bunları kullanmamak ve bu faydaları alamamak için kullanabiliriz.
Bu senin işin!
Bu kararı kendiniz vermelisiniz.
Altın Numaralar Güzel bir telefon numarası nasıl satılır
Kripto para madenciliği: basit kelimelerle nedir
En iyi dizüstü bilgisayar işletim sistemi: Eksiksiz inceleme
Sınıf arkadaşlarından müzik indirmek için programlar Sosyal ağ sınıf arkadaşlarından üzücü bir şarkı indirin
Yandex tarayıcısının mobil versiyonu