Html'de bir arama dizesi nasıl yazılır? Açılır arama alanı. Kalın alt kenarlıklı arama alanı

25 Ekim 2019 Gönderi güncellendi

Sitedeki çekilebilir arama formu

Düz stil, web sitesi tasarımında önemli bir popülerlik kazanmıştır. Ve bu dersimizde sitenin bu tarzda yapılmış başka bir unsuruna bakacağız. Bu öğe bir arama formudur. Ama basit bir arama değil, tıklandığında ortaya çıkan ve kullanılmadığı takdirde “çöken” bir arama formu. Arama simgesine gelince, bir SVG dosyasından alınır ve farklı ekran çözünürlüklerinde ölçeklenebilir (örneğin, mobil cihazlar ve büyük monitörlerde).

Bir örnek burada görülebilir:

İndirmek

Dışarıya çekilebilen arama formu

Nasıl kullanılır?

HTML'

Öncelikle HTML sayfasında yer alacak işaretlemeye karar verelim:

1 2 3 4 5 6 7 <div kimliği = "sb-arama" class = "sb-arama" > <form > <giriş sınıfı = "sb-search-input" yer tutucusu= "Ne arayacaklar?" type = "metin" değer = "" isim = "arama" id = "arama" > <giriş sınıfı = "sb-arama-gönder" type = "gönder" değer = "" > <span sınıfı = "sb-icon-search" > </form> </div>

Arama formunda olağandışı hiçbir şey yok: giriş için bir metin alanı, bir arama düğmesi ve bir öğe simge için.

CSS

Şimdi arama formunun sayfada güzel görünmesini sağlayacak stiller ekleyelim.

Tıklandığında görüneceği için başlangıçta gizlidir. Bu özellik kullanılarak yapılır taşma ve anlamı gizlenmiş bunun sonucunda simgenin dışındaki her şey gizlenir (sonunda yalnızca simgeyi görürüz, ancak metin alanını görmeyiz):

.sb-search ( konum: göreceli; kenar boşluğu üst: 10 piksel; genişlik: %0; minimum genişlik: 60 piksel; yükseklik: 60 piksel; kayan nokta: sağ; taşma: gizli; -webkit-transition: genişlik 0,3s; -moz- geçiş: genişlik 0,3 sn; geçiş: genişlik 0,3 sn; -webkit-arka yüz görünürlüğü: gizli )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 .sb-search-input ( konum: mutlak; üst: 0; sağ: 0; kenarlık: yok; anahat: yok; arka plan: #fff; genişlik: %100; yükseklik: 60 piksel; kenar boşluğu: 0; z-index: 10 ; dolgu: 20 piksel 65 piksel 20 piksel 20 piksel; yazı tipi boyutu: 20 piksel; renk: #2c3e50 ; ;

İsteğin arka planında yer alan metnin rengini (arama yaparken girdiğimiz metin) belirliyoruz:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 .sb-search-input : :-webkit-input-placeholder ( color : #efb480 ; ) .sb-search-input :-moz-placeholder ( color : #efb480 ; ) .sb-search-input : :-moz- yer tutucu ( color : #efb480 ; ) .sb-search-input :-ms-input-placeholder ( color : #efb480 ; )

Arama düğmesi her zaman sayfadaki diğer blokların ve öğelerin üzerinde bulunur, bu yüzden onu veriyoruz büyük değer z-endeksi:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 .sb-icon-search ( color : #fff ; arka plan : #e67e22 ; z-index : 90 ; font-size : 22px ; font-family : "icomoon" ; konuşma : yok ; font-style : normal ; font-weight : normal ; yazı tipi değişkeni : normal ; metin dönüşümü : yok ; -webkit-yazı tipi yumuşatma : kenar yumuşatma .sb-icon-search :before ( içerik : " \e000 "; }

Ayrıca özel simgeler (SVG) eklemeyi de unutmayın. Arama düğmesine bir simge eklemek için:

1 2 3 4 5 6 7 8 9 10 @font-face ( font-family : "icomoon" ; src: url ( "../fonts/icomoon/icomoon.eot") ); kaynak:url("../fonts/icomoon/icomoon.eot?#iefix" ) format("gömülü-açıktip") , url ("../fonts/icomoon/icomoon.woff" ) format("woff"), url ("../fonts/icomoon/icomoon.ttf"<) format("truetype" betiği > <script src = "js/uisearch.js" > komut dosyası ><new UISearch(document.getElementById("sb-search"));

/script>

Çözüm

Sitede çok az yer kaplayan ve arama ikonuna tıkladığınızda güzel bir şekilde karşınıza çıkan hoş bir arama formu. Bu eğitimde, mobil cihazlar için arayüz tasarımına mükemmel şekilde uyacak bir açılır arama formu oluşturacağız. Öğeyi uygulamak için yalnızca CSS kullanılacaktır; JavaScript veya ek işaretleme kullanılmayacaktır. Basit ve etkili yol

kompakt bir arama formu uygulamak.

Mobil cihazlarda her piksel sayılır. Formu görüntülemek için gereken alanı en aza indirmek amacıyla, başlangıçta kompakt bir biçimde gösterilecek ve giriş odağı (:focus) alındığında genişletilecektir. Bu yaklaşım, diğer arayüz öğeleri ve içerik için yerden tasarruf etmenizi sağlar.

HTML işaretlemesi

Form HTML5 kullanıyor. Kod çok basit:

Webkit tarayıcılarında varsayılan arama formu görünümünü sıfırlama

Varsayılan olarak Webkit tarayıcılarında arama formu şu şekilde görünecektir:

Arama formunun normal bir metin giriş alanı gibi görünmesini sağlamak için aşağıdaki stilleri eklemeniz gerekir:

Giriş ( -webkit-appearance: metin alanı; -webkit-box-sizing: içerik kutusu; font-family: devralma; font-size: 100%; ) input::-webkit-search-decoration, input::-webkit- arama-iptal-düğmesi (görüntü: yok; )

Arama formumuzu oluşturma

Giriş alanının normal genişliği 55 piksel olacak ve :focus durumunda 130 piksele genişleyecektir. Animasyon için geçiş özelliği, parlama efekti için ise kutu gölgesi kullanılır.

Giriş ( arka plan: #ededed url(img/search-icon.png) tekrarlanmayan 9 piksel merkez; kenarlık: katı 1 piksel #ccc; dolgu: 9 piksel 10 piksel 9 piksel 32 piksel; genişlik: 55 piksel; /* Varsayılan genişlik */ -webkit- kenarlık -yarıçap: 10em; -moz-sınır-yarıçap: 10em; -webkit-transition: tümü .5s; genişlik: 130 piksel; /* Giriş odaklandığında genişlik */ arka plan rengi: #fff; -webkit-box-shadow: 0 0 5px rgba(109,207,246,.5); shadow: 0 0 5px rgba(109,207,246,.5); box-shadow: 0 0 5px rgba(109,207,246,.5); */ )

Örnek B

Örnek B'de, arama formu önemli ölçüde küçültülmüştür; doldurma metni olmadan yalnızca simge görüntülenir. Arama alanının dolgu ve genişlik özelliklerinin dairesel bir düğme oluşturacak şekilde değiştiğine dikkat edin. Metni görünmez yapmak için color:transparent özelliğini kullanın.

#demo-b girişi ( genişlik: 15 piksel; sol dolgu: 10 piksel; renk: şeffaf; imleç: işaretçi; ) #demo-b girişi: vurgulu ( arka plan rengi: #fff; ) #demo-b girişi: odak ( genişlik : 130 piksel; sol dolgu: 32 piksel; arka plan rengi: #fff;

Tarayıcı uyumluluğu

Açıklanan yöntem tüm önemli tarayıcılarda çalışır: Chrome, Firefox, Safari ve IE8+. IE7 ve daha eski tarayıcılarda, sözde sınıf:focus ve arama alanı türü desteğinin olmaması nedeniyle işlevsellik çalışmaz.

parametre anahtarı adı. Arama alanı için en sık "q" veya "text" kullanılır. parametre anahtar değeri. Çoğu zaman sorulmaz. Salt okunur ve devre dışı bırakılmış öznitelikler belirtilmemişse kullanıcı bunu kendi metniyle değiştirebilir. kullanıcı tarafından değişiklik engellendi erişim, kullanıcı tarafından değişiklik ve mevcut parametrenin verilerinin iletimi engellendi alan boş olamaz normal ifadeler JS'deki gibi giriş şablonu, formu göndermek için takip edilmesi gerekir

Formu göndermek için gerekli karakterler Kullanıcının yazabileceği maksimum karakter sayısı Karakterlerdeki alan uzunluğu Fare imlecini üzerine getirdiğinde yer tutucu araç ipucu ipucu otomatik tamamlama. Modern tarayıcılar, geçerli etki alanında önceden girilen arama sorgularını gösterir. Bunu kapatabilir veya daha spesifik hale getirebilirsiniz.

Önerilen sorguların listesi, belgeyi yüklerken elde edilen, yazım ve dilbilgisi açısından denetlenen alan odağı (yani, bir öğeye tıklamak ile öğenin dışına tıklamak arasındaki süre)

Bulmak

Daha önce yazılan metni silen "Temizle" çarpı işaretini arama alanından kaldırın Sitedeki arama formu nasıl çalışır? En basit HTML kodu

Alana "soru" yazıp "Bul" butonuna tıkladığınızda sayfa adresi "http://site/2011/06/forma-poiska-po-saitu..html" olarak değişecektir.>

?metin=soru ", bir bağlantıya tıkladığınızda olduğu gibi. Sayfa yüklendiğinde komut dosyası, URL'de belirtilen parametrelerin varlığını kontrol eder ve tespit edilirse site için arama sonuçları oluşturur ve görüntüler. isim = "metin"

Ancak belge yükleme hızını artırmak için, isteği işleyen komut dosyası, kural olarak sitenin yalnızca bir sayfasına yerleştirilir ve adresi eylem özelliğinde belirtilirse geçiş yapılacaktır: ">

http://site/arama/ ?metin=soru". action = "http://site/arama/" Komut dosyasının çalışması için, belirtilen ek parametreler gerekli olabilir.

. Bu alan görüntülenmiyor.

arama kimliği=808327>

&metin=soru".

Target özelliğini kullanarak formun sonucunu yeni bir sekmede açın

  • hedef = "_ boş"
  • Bir site arama komut dosyasını nereden alabilirim? Kullanabilirsin Yandex ve Google'ın özel hizmetleri tarafından sunulan,
  • Kullanılan CMS'ye yerleşiktir (varsa), örneğin Blogger'da "https://"

site.ru

!}">

bağımsız olarak geliştirildi, örneğin PHP'de.

Motive edici kelimelerden “Bul” mükemmel bir forma sahiptir ve arama sonucunun kesinlikle olumlu olacağını ima eder.

Site için arama alanı- biri temel elementler Bir web sayfasındaki kullanıcı arayüzü. Onun yardımıyla kullanıcı sitenizde istediği içeriği bulabilir.

Bu eğitimde, HTML5 kullanarak arama alanı işaretlemesinin nasıl oluşturulacağını ve kod yazmadan CSS3 kullanarak form öğelerinin nasıl stillendirileceğini öğreneceksiniz.

1. HTML işaretlemesi

Öğe

bir arama formu için bir kapsayıcıdır, arama alanı öğe kullanılarak oluşturulur veya ve öğe kullanılarak sunucuya veri göndermek için bir düğme oluşturulabilir. veya
* (kutu boyutlandırma: kenarlık kutusu;) form ( konum: göreceli; genişlik: 300 piksel; kenar boşluğu: 0 otomatik; ) giriş ( genişlik: %100; yükseklik: 42 piksel; sol dolgu: 10 piksel; kenarlık: 2 piksel katı #7BA7AB ; kenarlık yarıçapı: 5 piksel; taslak: yok; renk: #9E9C9C; ) düğme ( konum: mutlak; üst: 0; genişlik: 42 piksel; kenarlık: yok; arka plan: #7BA7AB; kenarlık yarıçapı: 0 5 piksel 5px 0; imleç: işaretçi; ) düğme:önce ( içerik: "\f002"; yazı tipi ailesi: FontAwesome; yazı tipi boyutu: 16 piksel; renk: #F9F0DA; )

3. İçinde bir düğme bulunan arama alanı

* (kutu boyutlandırma: kenarlık kutusu;) form ( konum: göreceli; genişlik: 300 piksel; kenar boşluğu: 0 otomatik; ) giriş, düğme ( kenarlık: yok; taslak: yok; kenarlık yarıçapı: 3 piksel; ) giriş ( genişlik: %100; yükseklik: 42 piksel; arka plan: #F9F0DA; sol dolgu: 15 piksel; ) düğme: önce ( içerik: "\f105"; yazı tipi ailesi: FontAwesome; renk: #F9F0DA; yazı tipi boyutu: 20 piksel; yazı tipi ağırlığı : gözü pek; )

4. Düz stil arama alanı

* (kutu boyutlandırma: kenarlık kutusu;) form ( konum: göreceli; genişlik: 300 piksel; kenar boşluğu: 0 otomatik; arka plan: #A3D0C3; ) giriş, düğme ( kenarlık: yok; taslak: yok; arka plan: şeffaf; ) giriş ( genişlik: %100; yükseklik: 42 piksel; sol dolgu: 15 piksel; ) düğme ( yükseklik: 42 piksel; genişlik: 42 piksel; konum: mutlak; üst: 0; sağ: 0; imleç: işaretçi; ) düğme:önce ( içerik: "\f002"; yazı tipi ailesi: FontAwesome;

5. Kalın alt kenarlıklı arama alanı

* (kutu boyutlandırma: kenarlık kutusu;) form ( konum: göreceli; genişlik: 300 piksel; kenar boşluğu: 0 otomatik; arka plan: #F9F0DA; kenarlık alt: 4px katı #be290e; ) giriş, düğme ( kenarlık: yok; anahat : yok; arka plan: şeffaf; ) giriş ( genişlik: %100; yükseklik: 42 piksel; sol dolgu: 15 piksel; ) düğme ( yükseklik: 42 piksel; genişlik: 42 piksel; konum: mutlak; üst: 0; sağ: 0; imleç: işaretçi; ) düğme:önce ( içerik: "\f178"; font-family: FontAwesome; font-size: 20px; color: #be290e; )

6. Kenarlık rengini değiştiren arama alanı

* (kutu boyutlandırma: kenarlık kutusu;) form ( konum: göreceli; genişlik: 300 piksel; kenar boşluğu: 0 otomatik; ) giriş, düğme ( taslak: yok; arka plan: şeffaf; ) giriş ( genişlik: %100; yükseklik: 42 piksel ; dolgu-sol: 15 piksel; kenarlık: 3 piksel katı #F9F0DA; ) düğme ( kenarlık: yok; yükseklik: 42 piksel; genişlik: 42 piksel; konum: mutlak; üst: 0; sağ: 0; imleç: işaretçi; ) düğme:önce içerik: "\f002"; yazı tipi ailesi: FontAwesome; yazı tipi boyutu: 16px; renk: #F9F0DA;

7. Dışarıya çekilebilir arama alanı

Simgenin bulunduğu düğmeye tıkladığınızda arama alanı görünür.

* (kutu boyutlandırma: kenarlık kutusu;) form ( konum: göreceli; genişlik: 300 piksel; kenar boşluğu: 0 otomatik; yükseklik: 42 piksel; ) giriş ( yükseklik: 42 piksel; genişlik: 0; dolgu: 0 42 piksel 0 15 piksel; kenarlık: yok; kenarlık-alt: 2 piksel katı şeffaf; arka plan: 0,4s kübik-bezier(0, 0,8, 0, 1); giriş: odak ( genişlik: 300 piksel; z-index: 1; kenarlık-alt: 2 piksel) katı #F9F0DA; ) düğmesi ( arka plan: #683B4D; kenarlık: yok; yükseklik: 42 piksel; genişlik: 42 piksel; konum: mutlak; üst: 0; sağ: 0; imleç: işaretçi; ) düğme:önce ( içerik: "\f002 "; yazı tipi ailesi: FontAwesome; yazı tipi boyutu: 16 piksel; renk: #F9F0DA; )

8. Arama alanının genişletilmesi

* (kutu boyutlandırma: kenarlık kutusu;) form ( genişlik: otomatik; kayan nokta: sağ; kenar boşluğu: 30 piksel; ) giriş ( genişlik: 250 piksel; yükseklik: 42 piksel; sol dolgu: 15 piksel; kenarlık yarıçapı: 42 piksel; kenarlık: 2px katı #324b4e; taslak: yok; göreceli geçiş: 0,3s doğrusal; konum: mutlak üst: -2px;

Bu not bir önceki makalenin (çevirisi) “Google AJAX Arama API'sini ve jQuery'yi kullanarak blog arama”nın devamı niteliğindedir.
Bunu yazdıktan sonra, böyle bir formu ve sonuçlardan oluşan bir tabloyu ayrı bir sayfa yerine nereye yerleştirmenin daha iyi olacağını düşündüm. Fikrin ortaya çıkması uzun sürmedi: sonuçların açılır pencerede görüntülendiği bir aramayı denemek mantıklıydı.

Başta demo:

Blogda Arama↓

Açılır pencere aramasının "temel"i olarak, jQuery kalıcı pencere eklentisini seçtim. Ortaya çıkarmak. Hafiftir, gereksiz unsurlar içermez ve bağlanması çok kolaydır.

Kurulum Gösterimi.
Komut dosyasına ve stillere bağlantılar şablon bölümünde yazılmıştır:
Eklenti arşivinin, resim albümünüze koymanız ve yolunu yazmanız gereken bir png resmi içerdiğini unutmayın. ifşa.css.

Bir sonraki adım eklentiyi başlatmaktır" ayarlama" senaryo(oraya koy):

Sonra belirleriz açılır içerik(bunu yazının gövdesine koyduk):

Blogda Arama↓

buraya “Google AJAX Search API ve jQuery kullanarak blog arayın” makalesindeki tüm arama kodlarını yapıştırıyoruz.

Bu kodun içindeki yorumuma göre, Google aramasının tamamını buraya kopyalayıp yapıştırınşu anda bahsettiğimiz şey. Css stili şablonunda beyaz karenin alanını arttırmanız gerekecek.

Ve son adım kendinsin kalıcı pencereye bağlantı, metin veya grafik olabilir. Resim biçimindeki bağlantı kodu (ayrıca gönderinin gövdesinde):

sen Ortaya çıkarmak kalıcı bir pencere eklentisi olduğundan iki tür animasyon vardır: solmaya ve solmayaAndPop, ayarlanabilir efekt yürütme hızı: animasyon hızı: 300 ve karartılmış arka plana tıklayarak tüm pencereyi kapatma yeteneği: closeonbackgroundclick: doğru.

Bu ayarlar "yapılandırma" komut dosyasına yazılır (yukarıya bakın):

$("#myModal").reveal(( Animation: "fadeAndPop", //fade, fadeAndPop, none animasyon hızı: 300, //animasyonlar ne kadar hızlı closeonbackgroundclick: true, //arka planı tıklarsanız modal kapanacak mı? cancelmodalclass: "close-reveal-modal" //açık bir modeli kapatacak bir düğmenin veya öğenin sınıfı ));

Veya bu seçenekler aracılığıyla bağlanabilir bağlantı kalıcı pencereye (yukarıya bakın)

Böyle bir planın olduğu anlaşılmalıdır. ayrı bir pencerede ara- saf denemedir ve daha dikkatli özelleştirme gerektirir.