Herhangi bir web sitesinin bir geri bildirim formu olması gerekir, bu nedenle er ya da geç her birimiz bir geri bildirim formu geliştirmeyi düşünürüz. İnternette oldukça fazla seçenek var, bazıları popüler eklentileri kullanıyor, bazıları kendi kişisel geliştirmelerini kullanıyor ancak çoğu hazır çözümler arıyor. Her durumda site için geri bildirim formumuz çalışır durumda ve işlevsel olacaktır, tüm bunları sırasıyla konuşalım.

HTML

Öyleyse, her zamanki gibi olağan şablon olan html ile başlayalım. Öncelikle birkaç alanı olan bir forma ihtiyacımız var. Netlik ve tüm formların standardı için 3 alan alacağız. Onlar. bu Ad, E-posta ve Telefon olacaktır.

Her girişin kendine özgü bir adı vardır, daha sonra mesaj göndermek için ona ihtiyacımız olacak. Ayrıca kendi alanlarınızı özgürce ekleyebilir ve yalnızca girişi değil, aynı zamanda textarea'yı da seçebilirsiniz. Her birine, e-postayla bilgi gönderirken kullanacağımız kendi adlarını atamayı unutmayın. Kolaylık sağlamak için, her alana gerekli bir özellik ekledim, bu sayede tarayıcı kullanıcının boş değerler göndermesine izin vermeyecek ve bunları doldurma ihtiyacı konusunda onları bilgilendirecektir.

CSS

Form hazır olduğunda onu biraz dönüştürebilirsiniz. Buradaki her şey aynı zamanda ihtiyaçlarınıza ve fantezilerinize de bağlıdır. Netlik sağlamak adına, her şeyin bu kadar düz görünmemesi için her öğe için birkaç stil taslağı hazırladım. Ancak tembelseniz veya nasıl yapılacağını bilmiyorsanız benim seçeneğimi kullanabilirsiniz:

Form( maksimum genişlik: 400 piksel; genişlik: %100; kenar boşluğu: 0 otomatik; ) giriş ( kutu boyutu: kenarlık kutusu; ekran: blok; kenarlık: yok; kutu gölgesi: iç metin 0px 0px 4px 1px rgba(0, 0, 0, 0,11); dolgu: 10 piksel 20 piksel; genişlik: %100; kenar boşluğu: 10 piksel 0; ana hat: yok; ) giriş ( arka plan: kırmızı; kenarlık: yok; kutu gölgesi: 0 piksel 2 piksel 0 1 piksel #C50909; kenarlık- yarıçap: 5 piksel; renk: beyaz; metin dönüşümü: büyük harf; yazı tipi ağırlığı: 600; genişlik: 200 piksel; imleç: işaretçi; geçiş: 0,3 sn; ) giriş: vurgulu ( arka plan: siyah; kutu gölgesi: 0 piksel 2 piksel 0 1 piksel siyah; )

Müşteri kısmı

Burada daha ayrıntılı olarak anlamaya değer, daha doğrusu kendiniz için uygun seçeneği seçmelisiniz. E-postayla mesaj göndermek için php dilini kullanmamız gerekecek, yani. tüm bu verileri aktaracağımız ayrı bir dosya oluşturun. Ancak bu yöntemi burada ele almayacağız çünkü her şeyin sayfayı yeniden yüklemeden gerçekleşmesi çok daha güzel. Bu yüzden ajax aracılığıyla veri göndermeye bakacağız.

Her şeyi eski yöntemle yapmak istiyorsanız, üstteki html'de biraz değişiklik yapmanız ve formun yöntem öznitelik değerini (post veya get) ayarlamanız gerekir. Her şey formdan verileri nasıl aktarmak istediğinize bağlıdır. Ayrıca php dosyasının yolunu gösterecek bir eylem yazmayı da unutmayın.

Ve daha gelişmiş bir yöntem kullanıp sayfayı yeniden yüklemeden veri göndereceğiz ve sunucudan yanıt geldiğinde kullanıcıya başarılı bir işlem veya hata mesajı vereceğiz. Ancak aynı zamanda 2 dosyaya da ihtiyacımız olacak, contact.php vecustom.js diyelim.

Öncelikle Jquery kütüphanesini bağlamayı unutmayın, onun yardımıyla kodu birkaç kez azaltacağız ve hazır çözümleri kullanarak herhangi bir işlemi kolayca gerçekleştirebiliriz.

$(".form").submit(function() ( var str = $(this).serialize(); $.ajax(( type: "POST", url: "contact.php", data: str, başarı : function(msg) ( if(msg == "tamam") ( warning("Mesaj gönderildi"); ) else ( warning("Hata! Alanları yanlış doldurmuş olabilirsiniz."); ) ) )); return YANLIŞ; ) );

Şimdi eylem planını ve neden tüm bu kütüphanelere ve dosyalara ihtiyacımız olduğunu anlayalım. Kullanıcı gönder butonuna tıkladığında, Custom.js'de yazacağımız ve buna dayanarak formdaki tüm verileri alıp contact.php dosyasına aktaracağımız bir gönder olayımız var. Burada alanlarımızın boş olup olmadığını bir kez daha kontrol ediyoruz (başka bir spam olasılığını önlemek için), e-postayla bir mesaj gönderiyoruz ve kullanıcıya, Custom.js'ye yanıt olarak gönderilen sonuçları bildiriyoruz.

If (trim($_POST["mfbPhone"]) == "") ( echo "false"; ) else ( $txtname = trim($_POST["mfbName"]); $txtemail = trim($_POST["mfbMail) "]); $txtphone = trim($_POST["mfbPhone"]); // kimden $fromMail = " [e-posta korumalı]"; // E-posta adresinizi buraya girin $emailTo = " [e-posta korumalı]"; $konu = "Geri Bildirim"; $konu = "=?utf-8?b?". base64_encode($konu) ."?="; $headers = "Gönderen: Örnek form\n"; $headers . = "İçerik türü: metin/düz; charset="utf-8"\r\n"; $headers .= "MIME Sürümü: 1.0\r\n"; $headers .= "Tarih: ".date("D, d M Y h:i:s O") ."\r\n"; // harfin gövdesi $body = "".$site" sitesinden bir mektup alındı." \n\nAd: ".$txtname."\nTelefon: ".$txtphone."\ne-mail: ".$txtemail."\nMesaj: ".$txtmessage; mail($emailTo, $konu, $body, $başlıklar); echo "tamam"; )

Bu, bir iletişim formunun nasıl çalıştığının en temel örneğidir. PHP'de kontrol dosyasını nasıl değiştireceğiniz, kendi sınıflarınızı nasıl oluşturacağınız vb. konusunda birçok seçenek vardır. Ancak bizim görevimiz web sitenizde kullanabileceğiniz basit ve çalışan bir örnek oluşturmaktı.

demo

Dosyalar

Hazır eklentiler

Bir WordPress blogunda olduğunuz için, özellikle programlama ve düzen konusunda tam bir acemiyseniz, muhtemelen her türlü eklentiyi kullanmaya hazır ve isteklisinizdir. Ve bunun için sizi suçlamıyorum ve hatta bunlardan birini netlik açısından dikkatinize sunabilirim. Bu paragrafın amacı bir öneri değil, yalnızca bir örnektir, çünkü Contact Form 7 eklentisini birkaç projede kullandım.

Yapılandırması çok kolaydır ve neredeyse her zaman kusursuz çalışır. Kendi benzersiz tasarımınızı yaratmanız gerekiyorsa bunu yapabilirsiniz. Tek yapmanız gereken, yapıcıya gerekli alanları eklemek, hatalar ve başarılı gönderim hakkındaki bildirimleri kendi yönteminizle tercüme etmek ve değiştirmektir ve işlem tamamdır. Daha sonra kısa kodu kopyalayıp formda istediğiniz yere yapıştırın.


Eklentiyle ilgili hiç sorun yaşamadım ve hızlı ve hazır bir çözüme ihtiyacınız varsa işte bu kadar. İşlevsellik ve tasarım açısından form için kendi gereksinimleriniz varsa, bu sektörde bilgi gerektiren ilk seçeneği kullanmak daha iyidir.

Merhaba sevgili arkadaşlar ve blog misafirleri! Web sitesi geri bildirimi, bir blog yazarının ziyaretçileriyle iletişim kurmasını sağlayan en önemli özelliklerden biridir. Ancak bir sorun var; siteye ilişkin geri bildirimleri görüntüleyen eklentiler çok ağır!

Bir süredir blogumu daha hafif hale getirmekle meşguldüm ve ağırlığı nedeniyle bloğumu ağırlaştıran ve sayfaların hızlı yüklenmesini engelleyen gereksiz eklentilerden kurtulmaya karar verdim. Ve her şeyden önce seçimim geri bildirim formuna, daha doğrusu onu web sitem "İletişim Formu 7"de görüntüleyen eklentiye düştü ve aynı zamanda "reCaptcha" captcha'sını görüntüleyen ikinci bir eklentiye de ihtiyacı vardı. Bu şekilde, herhangi bir eklenti gerektirmeyen ve siteye kurulumu kolay bir geri bildirim formu kullanarak oldukça önemli iki eklentiden aynı anda kurtulmaya karar verdim. Şimdi size bundan bahsedeceğim ve tabii ki dosyaları indirmenize de izin vereceğim, böylece sitenize benzer geri bildirimler oluşturabilirsiniz...

Ve sonunda geri bildirim formu oluşturmaya yönelik eklentileri sitemden kaldırdıktan sonra, herhangi bir eklenti kullanmadan, kolay ve güvenilir bir geri bildirim formu oluşturmaya başladım. Ve elde ettiğim şey bu:

Siteye yönelik geri bildirim formumun işlevselliğini “ “ sayfasından görüntüleyebilir ve kontrol edebilirsiniz. Web sitesindeki iletişim formuma yazın, size cevap vereceğim!

Şimdi en önemli şeye geçelim ve herhangi bir eklentiden bağımsız olarak site için kendi geri bildirimimizi oluşturalım...

Eklentiler olmadan site için geri bildirim sağlıyoruz!

Bunun için ihtiyacımız olan tek şey: "Site için geri bildirim" başlıklı blog sitem, bir metin editörü ve tabii ki gereksiz ve ağır eklentilerden kurtularak siteyi kolaylaştırmak için kendi iletişim formunuzu oluşturma arzunuz!

Sitenize veya blogunuza herhangi bir yere yapıştırabileceğiniz site geri bildirim formunun HTML kodu, benim için iletişim sayfası:

Geri bildirim formu

Adın ne

E-posta

Mesaj Konusu

Bir mesaj göndermek

Lütfen bu kodda yapmanız gereken bazı önemli şeylere dikkat edin:

  • Kodla yalnızca Notepad++ metin düzenleyicisinde çalışın
  • Size biraz sonra anlatacağım kodun ilk satırındaki mail.php dosyasının yolunu düzeltin
  • Bu dosyayı site motorunun kök klasöründe bulunan hostinginize yüklemelisiniz! Ama önce düzeltip düzeltmediğinizi kontrol edin!

    “HOSTING E-POSTA ADRESİNİZ” metninin yazıldığı satırda! “, hostinginizde bulunan E-posta adresinize düzeltmeniz gerekmektedir. Hostinginizde bir e-posta hesabınız yoksa, bir tane oluşturduğunuzdan emin olun. Zor değil!

    Artık “site için geri bildirim” sistemimizin doğru çalışması için sitedeki jQuery kütüphanesini bağlayan bir script bağlamanız gerekiyor. Öncelikle web sitenizi kontrol edin, belki bu script zaten yüklüdür, bunu nasıl yapacağınızı bilmiyorsanız hosting sağlayıcınıza bir soru sorun.

    İşte senaryo:

    Veya bu işlevi WordPress Function.php dosyanıza ekleyebilirsiniz:

    İşlev my_jquery() ( wp_deregister_script("jquery"); wp_register_script("jquery", "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"); wp_enqueue_script("jquery" ); )

    Komut dosyasının yerini alır ve ayrıca WordPress sitesindeki jQuery kitaplığını da içerir.

    Şimdi web sitemize mail.php dosyasıyla birlikte çalışacak bir komut dosyası bağlayarak mektuplarınızı gönderiyoruz. Bunun için contact.js gibi bir js dosyası oluşturup js adı verilen aktif temanızın scriptlerinin bulunduğu klasörde web sitenize göndermemiz gerekiyor. Web sitenizde yoksa oluşturun!

    İşte senaryo:

    JQuery(document).ready(function($) ( $("#contact").submit(function() ( var str = $(this).serialize(); $.ajax(( type: "POST", url) : "ALANINIZ/wp-content/themes/TEMANINIZ/mail.php", data: str, başarı: function(msg) ( if(msg == "OK") ( result = "Mesaj gönderildi"; $(" #fields").hide(); ) else (sonuç = msg;) $("#note").html(sonuç); ) )); return false; )); ));

    Neredeyse bitti! Şimdi stilleri sitenin temasının stillerinden sorumlu olan CSS dosyanıza barındırmamıza yüklememiz gerekiyor. Bu yapılmazsa site için yeni oluşturduğumuz geri bildirimimiz güzel ve tek renkli olmayacaktır.

    Sitenin geri bildirim formunun stil kodu:

    Form#contact ( border:1px katı #e5e5e5; dolgu:10px; arka plan:#e9ffd0; border-radius:5px; ) #contact label ( font-size: 14px; ) #contact input:required:valid ( box-shadow: 0 0 3px #BCEF89; kenarlık rengi: #BCEF89!important; arka plan: #fff url(images/valid.png) tekrarlanmayan %98 merkez; ) #contact textarea:required:valid ( box-shadow: 0 0 3px #BCEF89; border-color: #BCEF89!important; ) #contact input:focus:invalid ( box-shadow: 0 0 3px #FFDF97; border-color: #FFDF97!important; arka plan: #fff url(images/invalid. png) tekrarlanmayan %98 merkez; ) #contact textarea:focus:invalid ( box-shadow: 0 0 3px #FFDF97; border-color: #FFDF97!important; ) .err ( border: 1px katı #ff8c00; padding: 10 piksel; arka plan: #FFDF97; metin hizalama: sol; kenarlık yarıçapı: 3 piksel; ) .ok ( kenarlık: 1 piksel #BCEF89 katı; kenar boşluğu alt: 15 piksel; dolgu: 10 piksel; arka plan: #f5f9fd; metin hizalama: orta ; border-radius: 3px; ) #author, #email, #url ( genişlik: %30; dolgu: 5px; border-radius: 5px; border: 1px katı #e5e5e5; ) #comment ( dolgu: 5 piksel; kenarlık yarıçapı: 5 piksel; kenarlık: 1 piksel katı #e5e5e5; taşma: otomatik; ) #submit ( yazı tipi ağırlığı: 400; arka plan: #393; yazı tipi boyutu: 15 piksel; renk: #fff ; dolgu: 10 piksel 50 piksel; kenarlık: yok; imleç: işaretçi; )

    Bunları kopyalayıp sitedeki aktif temanızın style.css dosyasına göndermeniz yeterli. Daha sonra renkleri ve şekli değiştirmek isterseniz, ancak bu yalnızca ileri düzey kullanıcılar içindir!

    Artık siteye yönelik geri bildirimlerimiz tamamen kullanıma hazır. Test edin ve çalışmasının tadını çıkarın!

    Bu kadar!

    Bu materyali beğendiyseniz? Daha sonra sosyal butonlara tıklayın, blog güncellemelerine abone olun ve yorumunuzu aşağıya yazın!

    Merhaba sevgili okuyucu, bugün sizler için Ajax teknolojisi + ziyaretçilerinizi formu kullanmaya motive edecek güçlü bir tetikleyici kullanarak sayfayı yeniden yüklemeden çalışan lezzetli bir html geri bildirim formu hazırladım. Blogumun okuyucuları, Açılış Sayfasındaki önceki makalemi çok aktif bir şekilde tartıştılar, şimdi değerlendiriyoruz ve son halini alan yeni forma bakıyoruz. Hepsi gerekli Kaynak kodu ve demo makaleye eklenmiştir Ayrıca işin ve bağlantının yapısını da analiz edeceğiz.

    GÜNCELLEME: Konu satırındaki ad kodlama hatası düzeltildi. Artık her şey doğru şekilde görüntüleniyor. Okuyucuya teşekkür ederiz (Ekaterina Karacheva)

    Formun formatı ayrıca PHP'de bir işleyici dosyası içerir; ek olarak, iş için bir jquery kitaplığına ve komut dosyalarına ihtiyacınız olacak, ancak ilk önce onu çok uzun süre yüklemeyeceğim - hadi incelemeye geçelim ve geri bildirimlerimizin analizi.

    HTML geri bildirim formu - çalışma yapısı

    Formumuz şuna benzer:

    Buradaki amaç ne? Sağ tarafta böyle bir form var ama sol tarafta ziyaretçinizi hemen iletişim bilgilerini girmeye teşvik edecek özel bir blok yaptım! İşin sırrı basit: Sol blokta tarih ve saati görüyor musunuz? Bugünün tarihi her zaman görüntülenecek, zamanla bu iki saatin aralığı şu anki saatten hesaplanır, diyelim ki şu anki saatiniz 13:14 ise saat aralığı 12'den 14'e kadar olacaktır. işe yarıyor)))

    Ziyaretçi şunu görecektir: vay be, bugün bir indirim var ve tam zamanında geldim, ayrıca bir indirim de var! Hemen almalı! - Bu bizim tetikleyicimiz.

    Html geri bildirim formunun kaynak kodunu indirdim, demoya baktım - yeterince oynadığımı düşünüyorum)) Şimdi en önemli şeye, çalışma prensibine gelince:

    Giriş formundaki alanlar contact.php işleyici dosyasında kontrol edilir.Aşağıdaki program kodu listesinde, formun kendisinde hatalar ve mektubun başarıyla gönderilmesiyle ilgili bir mesajın göründüğünü görebilirsiniz, bu şekilde görünüyor gönderdikten sonra:

    Form işleyicisi kaynak kodu

    E-postanızı 52. satıra ekleyin, böylece tüm mektuplar belirtilen e-postaya gönderilecektir.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

    Form performansı

    Posta kutunuza mektup almak için yukarıda belirttiğim satırı değiştirin. Gmail.com postasını kullanmanızı tavsiye ederim, formdan oluşturulan bir mektubu alırken herhangi bir gecikme veya sıkışma olmaz. Seni uyardım çünkü... Okuyucuların birçok sorusu vardı (mektuplar mail.ru'ya ulaşmıyor). Bu konuda dikkatli olun.

    Tüm alanları dolduruyoruz, lütfen telefon numarasının 8 ile girildiğini unutmayın - numarayı araç ipucunda özellikle sekiz “89251122333” ile yazdım. "+" işaretini girerseniz bir hata mesajı görünecektir. Birisinin buna ihtiyacı varsa, bu “+”yı işleyiciye eklemek kolaydır.

    Test verilerini içeren doldurulmuş form

    Posta kutusundaki mektup

    Gördüğünüz gibi üç alanın da doldurulup gönderildiği mektubu aldık. Contact.php işleyicisinde "Site sitesinden istek" harfinin başlığı değişir

    Her şey yolunda gidiyor, yorumlarda geri bildirimlerinizi (yapıcı eleştiri) duymak güzel olacak, herhangi bir zorluk yaşarsanız ve bir şeyle baş edemiyorsanız, bana VK'dan yazmaktan çekinmeyin (bunu iletişim bilgilerinde bulacaksınız) ). Umarım bir geri bildirim formunun (hizmet siparişi, uygulama) ve eylem çağrısı tetikleyicisinin bu ortak yaşamının tasarımını ve işlevselliğini beğenmişsinizdir. Herkese işinizde iyi şanslar ve olumlu bir tutum, hoşça kalın))

    Desteğiyle hazırlandı

    Bu derste, PHP'de bir geri bildirim formu oluşturma ve ardından alınan verileri e-postayla gönderme örneğini kullanarak mail() işlevini tanıyacağız.

    Bunu yapmak için iki dosya oluşturacağız - forma.php ve mail.php. İlk dosya yalnızca kullanıcının veri girebileceği alanları içeren bir form içerecektir. Form etiketinin içinde bir düğme var "Göndermek" ve eylem özniteliği, düğme tıklandığında formdaki verilere erişilen mail.php işleyicisini ifade eder. "Göndermek". Örneğimizde form verileri "/mail.php" adlı bir web sayfasına gönderilmektedir. Bu sayfa form verilerini işleyen bir PHP betiği içerir:


    Form verileri POST yöntemi kullanılarak gönderilir ($_POST olarak işlenir). $_POST, geçerli betiğe POST yöntemi aracılığıyla aktarılan bir değişkenler dizisidir.

    Aşağıda, bazı web sitelerinde alanları kullanıcının kendisi tarafından doldurulan forma.php dosyasının içeriğini görüyorsunuz. Veri girişi yapılacak tüm alanların name niteliği olması gerekir, mantığa dayalı olarak değerleri kendimiz yazıyoruz.




    PHP'de e-postayla gönderilen geri bildirim formu


    PHP'de geri bildirim formu





    Mesaj bırakın:
    Adınız:



    E-posta:

    Telefon numarası:

    İleti:

    Metin alanı sınırsız sayıda karakter içerebilir-->







    Form tarayıcıda görsel olarak bu şekilde görünür.

    Daha sonra mail.php dosyasının kodunu yazıyoruz. Değişkenler için kendi isimlerimizi buluyoruz. PHP'de bir değişken $ işaretiyle ve ardından değişken adıyla başlar. Değişkenin metin değeri tırnak işaretleri içine alınır. Değişkenler kullanılarak, form öğesinin adı köşeli parantez içine (ad değeri) yerleştirilerek formun içeriği yöneticinin e-postasına gönderilir.

    Böylece $_POST dizisindeki veriler ilgili değişkenlere aktarılacak ve mail fonksiyonu kullanılarak mail'e gönderilecektir. Formumuzu doldurup gönder butonuna basalım. E-postanızı eklemeyi unutmayın. Mektup anında geldi.

    Geri bildirim formu veya başka bir deyişle, herhangi bir web sitesinin en önemli unsurlarından biridir. Ve elbette, kullanıcı arayüzünün diğer tüm unsurları gibi, iletişim elemanlarının da kullanıcıların dikkatini çekmek ve iletişimi teşvik etmek için bir şekilde dışarıdan stilize edilmesi ve tasarlanması gerekir.
    Tasarımda ek görseller kullanmadan, yalnızca 3 aracılığıyla geri bildirim formu stilleri için birkaç seçeneği değerlendirmenize sunuyorum. Gereksiz hiçbir şey yok, yalnızca iletişim formları için açık ve koyu renklerde yapılmış kısa kod parçaları (parçacıklar).

    1. Koyu renkli iletişim formu

    Sayfanın ana arka planının rengine bağlı olarak formun temel arka plan rengi görsel olarak değişecektir. Formun boyutu, formun yerleştirileceği kabın boyutuna bağlıdır.

    Html form çerçevesi standarttır, CSS ile bağlantı kurmak için gerekli giriş alanları ve bir "Gönder" düğmesi gereklidir, her form öğesine belirli bir sınıf atanır, karmaşık bir şey yoktur, anlaşılması zor olmayacaktır.

    < form> < input name= "name" placeholder= "Adınızı giriniz!" class = "name" required /> < input name= "emailaddress" placeholder= "E-postanızı giriniz!" class = "email" type= "email" required /> < textarea rows= "4" cols= "50" name= "subject" placeholder= "Mesajınızı girin:" class = "message" required> < input name= "submit" class = "btn" type= "submit" value= "Göndermek" />

    CSS

    Stiller hakkında çok fazla ayrıntıya girmeyeceğim, sadece bir şeyi not edeceğim: Tasarımda bazı CSS3 özelliklerini kullandım, doğrusal degrade, gölge efekti, hafif yuvarlatılmış köşeler vb., biraz çapraz sonuç elde etmeye çalıştım. -bu özellikler için tarayıcı uyumluluğu vardır, ancak tarayıcıların eski sürümlerinde form hala biraz farklı görünecektir ((.

    /* Temel form stili */ form ( kenar boşluğu: 0 otomatik; maksimum genişlik: 95 %; dolgu: 30px 30px 6px 30px; kenarlık: 1px katı rgba(0 , 0 , 0 , .2 ) ; - moz- border- radius : 5px; - webkit- kenarlık- yarıçap: 5px; kenarlık- yarıçap: 5px; - moz- arka plan- klip: dolgu; - webkit- arka plan- klip: dolgu- kutu; arka plan- klip: dolgu- kutu; arka plan: rgba( 0 , 0 , 0 , 0,5 ) ; - moz- kutu- gölge: 0 0 13px 3px rgba(0 , 0 , 0 , .5 ) ; - webkit- kutu- gölge: 0 0 13px 3px rgba(0 , 0 , 0 , .5 ) ; box-shadow: 0 0 13px 3px rgba(0 , 0 , 0 , .5 ) ; overflow: gizli; ) /* Mesaj alanı */ textarea( arka plan: rgba(255 , 255 , 255 , 0.4 ) ; genişlik: %100; yükseklik: 110 piksel; kenarlık: 1px katı rgba(255, 255, 255, .6) ; - moz- sınır- yarıçapı: 4 piksel; - webkit- kenarlık- yarıçapı: 4 piksel; kenarlık- yarıçapı: 4 piksel; - moz- arka plan- klip: dolgu; - webkit- arka plan- klip: dolgu- kutu; arka plan- klip: dolgu- kutu; ekran: blok; yazı tipi- ailesi: "Açık Sans", sans- serif; yazı tipi boyutu: 18 piksel; yazı tipi ağırlığı: 300; renk: #fff; sol dolgu: 25px; dolgu-sağ: 20px; üst dolgu: 12 piksel; kenar boşluğu alt: 20 piksel; taşma: gizli; ) /* Giriş alanları */ input ( genişlik: %100; yükseklik: 48 piksel; kenarlık: 1px katı rgba(255 , 255 , 255 , .4 ) ; - moz- border- radius: 4px; - webkit- border- radius: 4 piksel; kenarlık- yarıçap: 4 piksel; - moz- arka plan- klip: dolgu; - webkit- arka plan- klip: dolgu- kutu; arka plan- klip: dolgu- kutu; ekran: blok; yazı tipi- ailesi: "Açık Sans", sans - serif; yazı tipi- boyutu: 18 piksel; yazı tipi- ağırlığı: 300; renk: #fff; dolgu- sol: 20 piksel; dolgu- sağ: 20 piksel; kenar boşluğu- alt: 20 piksel; ) giriş[ tür= gönder] ( imleç: işaretçi; ) girişi. isim ( arka plan: rgba(255 , 255 , 255 , 0.4 ); padding- left: 25px; ) girişi. e-posta ( arka plan: rgba(255 , 255 , 255 , 0.4 ); padding- left: 25px; ) girişi. message ( arka plan: rgba(255 , 255 , 255 , 0.4 ) ; padding- left: 25px; ) ::- webkit- input- placeholder ( color: #fff; ) :- moz- placeholder( color: #fff; ) : :- moz- yer tutucu ( color: #fff; ) :- ms- giriş- yer tutucu ( color: #fff; ) giriş: odak, textarea: odak ( arka plan- renk: rgba(0 , 0 , 0 , 0,2 ) ; - moz-box-shadow: 0 0 5px 1px rgba(255, 255, 255, .5) ; - webkit-box-shadow: 0 0 5px 1px rgba(255, 255, 255, .5) ; box-shadow: 0 0 5px 1px rgba(255, 255, 255, . 5); taşma: gizli; ) /* Gönder butonunun stilleri */ . btn ( genişlik: 138 piksel; yükseklik: 44 piksel; - moz- kenarlık- yarıçap: 4 piksel; - webkit- kenarlık- yarıçap: 4 piksel; kenarlık- yarıçap: 4 piksel; kayan nokta: sağ; kenarlık: 1 piksel katı #253737; arka plan: #416b68; arka plan: - webkit- degrade(doğrusal, sol üst, sol alt, itibaren(#6da5a3), to(#416b68)); arka plan: - webkit- doğrusal- degrade(üst, #6da5a3, #416b68); arka plan: - moz - doğrusal- degrade(top, #6da5a3, #416b68); arka plan: - ms- doğrusal- degrade(top, #6da5a3, #416b68); arka plan: - o- doğrusal- degrade(top, #6da5a3, #416b68); arka plan- resim: - ms- doğrusal- degrade(üst, #6da5a3 %0, #416b68 %100); dolgu: 10,5 piksel 21 piksel; - webkit- kenarlık- yarıçap: 6 piksel; - moz- kenarlık- yarıçap: 6 piksel; kenarlık - yarıçap: 6px; - webkit- kutu- gölge: rgba(255, 255, 255, 0,1) 0 1px 0, iç kısım rgba(255, 255, 255, 0,7) 0 1px 0; - moz- kutu- gölge: rgba( 255 , 255 , 255 , 0.1 ) 0 1px 0 , ek rgba(255 , 255 , 255 , 0.7 ) 0 1px 0 ; kutu gölgesi: rgba(255 , 255 , 255 , 0.1 ) 0 1px 0 , ek rgba(255 , 255, 255, 0,7) 0 1 piksel 0; metin gölgesi: #333333 0 1px 0; renk: #e1e1e1; ). btn: vurgulu ( kenarlık: 1px katı #253737; metin- gölge: #333333 0 1px 0; arka plan: #416b68; arka plan: - webkit- degrade(doğrusal, sol üst, sol alt, from(#77b2b0), to(#) 416b68)); arka plan: - webkit- doğrusal- degrade(üst, #77b2b0, #416b68); arka plan: - moz- doğrusal- degrade(üst, #77b2b0, #416b68); arka plan: - ms- doğrusal- degrade(üst) , #77b2b0, #416b68); arka plan: - o- doğrusal- degrade(üst, #77b2b0, #416b68); arka plan- resmi: - ms- doğrusal- degrade(üst, #77b2b0 %0, #416b68 %100); renk: #fff; ). btn: etkin ( kenar boşluğu- üst: 1 piksel; metin- gölge: #333333 0 -1px 0; kenarlık: 1 piksel katı #333333; arka plan: #ffCC00; arka plan: - webkit- degrade(doğrusal, sol üst, sol alt, itibaren( #ffCC00), to(#ff6600)); arka plan: - webkit- doğrusal- degrade(üst, #ffcc00, #ff6600); arka plan: - moz- doğrusal- degrade(üst, #ffcc00, #ff6600); arka plan: - ms- doğrusal- degrade(üst, #ffcc00, #ff6600); arka plan: - o- doğrusal- degrade(üst, #ffcc00, #ff6600); arka plan- resmi: - ms- doğrusal- degrade(üst, #ffcc00 0% - moz - kutu gölgesi: rgba(255, 255, 255, 0) 0 1px 0, iç metin rgba(255, 255, 255, 0). 7) 0 1 piksel 0; kutu gölgesi: rgba(255, 255, 255, 0) 0 1px 0, iç kısım rgba(255, 255, 255, 0,7) 0 1px 0; taslak: yok; )

    /* Temel form stili */ form ( kenar boşluğu: 0 otomatik; maksimum genişlik: %95; dolgu: 30px 30px 6px 30px; kenarlık: 1px katı rgba(0,0,0,.2); -moz-border-radius : 5 piksel; -webkit-sınır-yarıçapı: 5 piksel; sınır yarıçapı: 5 piksel; -moz-arka plan-klibi: dolgu; -webkit-arka plan-klibi: dolgu kutusu; arka plan klibi: dolgu kutusu; arka plan: rgba( 0, 0, 0, 0,5); -moz-box-shadow: 0 0 13px 3px rgba(0,0,0,.5); -webkit-box-shadow: 0 0 13px 3px rgba(0,0,0) ,.5); box-shadow: 0 0 13px 3px rgba(0,0,0,.5); overflow: gizli; ) /* Mesaj alanı */ textarea( arka plan: rgba(255, 255, 255, 0.4) ; genişlik: %100; yükseklik: 110 piksel; kenarlık: 1 piksel katı rgba(255,255,255,.6); -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -moz-background -klip: dolgu; -webkit-arka plan-klibi: dolgu kutusu; arka plan klibi: dolgu kutusu; ekran: blok; yazı tipi ailesi: "Açık Sans", sans-serif; yazı tipi boyutu: 18 piksel; yazı tipi ağırlığı : 300; renk:#fff; sol dolgu:25 piksel; sağ dolgu:20 piksel; üst dolgu:12 piksel; kenar boşluğu-alt:20 piksel; taşma:gizli; ) /* Giriş alanları */ giriş ( genişlik: %100; yükseklik: 48 piksel; kenarlık: 1 piksel katı rgba(255,255,255,.4); -moz-border-radius: 4px; -webkit-border-radius: 4px; border- yarıçap: 4 piksel; -moz-arka plan-klibi: dolgu; -webkit-arka plan-klibi: dolgu kutusu; arka plan klibi: dolgu kutusu; ekran: blok; yazı tipi ailesi: "Açık Sans", sans-serif; yazı tipi -boyut:18 piksel; yazı tipi ağırlığı: 300; renk:#fff; sol dolgu:20 piksel; sağ dolgu:20 piksel; kenar boşluğu alt:20 piksel; ) giriş ( imleç:işaretçi; ) giriş.adı ( arka plan: rgba( 255, 255, 255, 0,4); padding-left:25px; ) input.email ( arka plan: rgba(255, 255, 255, 0,4); padding-left:25px; ) input.message ( arka plan: rgba(255, 255, 255, 0,4); padding-left:25px; ) ::-webkit-input-placeholder ( color: #fff; ) :-moz-placeholder( color: #fff; ) ::-moz-placeholder ( color: #fff; ) :-ms-input-placeholder ( color: #fff; ) input:focus, textarea:focus ( arka plan rengi: rgba(0, 0, 0, 0,2); -moz-box-shadow: 0 0 5px 1px rgba(255,255,255,.5);-webkit-kutu-gölge: 0 0 5px 1px rgba(255,255,255,.5); kutu gölgesi: 0 0 5px 1px rgba(255,255,255,.5); taşma: gizli; ) /* Gönder düğmesi için stiller */ .btn ( genişlik: 138 piksel; yükseklik: 44 piksel; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; float:right; border : 1px katı #253737; arka plan: #416b68; arka plan: -webkit-gradient(doğrusal, sol üst, sol alt, itibaren(#6da5a3), ila(#416b68)); arka plan: -webkit-linear-gradient(üst, # 6da5a3, #416b68); arka plan: -moz-linear-gradient(top, #6da5a3, #416b68); arka plan: -ms-linear-gradient(top, #6da5a3, #416b68); arka plan: -o-linear- degrade (üst, #6da5a3, #416b68); arka plan görüntüsü: -ms-linear-gradient(top, #6da5a3 %0, #416b68 %100); dolgu: 10. 5 piksel 21 piksel; -webkit-sınır-yarıçapı: 6px; -moz-sınır-yarıçapı: 6px; kenarlık yarıçapı: 6px; -webkit-box-shadow: rgba(255,255,255,0.1) 0 1px 0, iç kısım rgba(255,255,255,0.7) 0 1px 0; -moz-box-shadow: rgba(255,255,255,0.1) 0 1px 0, iç kısım rgba(255,255,255,0.7) 0 1px 0; kutu gölgesi: rgba(255,255,255,0.1) 0 1px 0, iç kısım rgba(255,255,255,0.7) 0 1px 0; metin gölgesi: #333333 0 1px 0; renk: #e1e1e1; ) .btn:hover ( border: 1px katı #253737; text-shadow: #333333 0 1px 0; arka plan: #416b68; arka plan: -webkit-gradient(doğrusal, sol üst, sol alt, from(#77b2b0), to (#416b68)); arka plan: -webkit-linear-gradient(üst, #77b2b0, #416b68); arka plan: -moz-linear-gradient(üst, #77b2b0, #416b68); arka plan: -ms-linear-gradient (üst, #77b2b0, #416b68); arka plan: -o-linear-gradient(üst, #77b2b0, #416b68); arka plan resmi: -ms-linear-gradient(üst, #77b2b0 %0, #416b68 %100) ); renk: #fff; ) .btn:aktif ( kenar boşluğu: 1 piksel; metin gölgesi: #333333 0 -1 piksel 0; kenarlık: 1 piksel katı #333333; arka plan: #ffCC00; arka plan: -webkit-gradient(doğrusal) , sol üst, sol alt, itibaren(#ffCC00), ila(#ff6600)); arka plan: -webkit-linear-gradient(top, #ffcc00, #ff6600); arka plan: -moz-linear-gradient(top, # ffcc00, #ff6600); arka plan: -ms-doğrusal-gradyan(üst, #ffcc00, #ff6600); arka plan: -o-doğrusal-gradyan(üst, #ffcc00, #ff6600); arka plan resmi: -ms-doğrusal -gradyan(üst, #ffcc00 %0, #ff6600 %100); renk: #fff; -webkit-box-shadow: rgba(255,255,255,0) 0 1px 0, iç kısım rgba(255,255,255,0.7) 0 1px 0; -moz-box-shadow: rgba(255,255,255,0) 0 1px 0, iç kısım rgba(255,255,255,0.7) 0 1px 0; kutu gölgesi: rgba(255,255,255,0) 0 1px 0, iç kısım rgba(255,255,255,0.7) 0 1px 0; taslak: yok; )

    Belki bu sizin için ilginç olacaktır: 2. Açık renklerde iletişim formu

    Geri bildirim formunun ikinci tasarım seçeneği ise açık renklerle sunuluyor; formun boyutları (genişlik, yükseklik) ilk seçenekte olduğu gibi sabit değil ve bu formun yerleştirileceği kabın boyutlarına rahatlıkla sığacak. yer alıyor.

    HTML

    İlk seçenekte olduğu gibi, iletişim formunun Html yapısı standarttır, CSS'deki sınıflara karşılık gelen belirli sınıflara sahip form öğeleridir.

    < form> < input name= "name" placeholder= "Adınızı giriniz!" class = "textbox" required /> < input name= "emailaddress" placeholder= "E-postanızı giriniz!" class = "textbox" type= "email" required /> < textarea rows= "4" cols= "50" name= "subject" placeholder= "Mesajınızı girin:" class = "message" required> < input name= "submit" class = "button" type= "submit" value= "Göndermek" />

    CSS

    Formların ve iç elemanların temel boyutlarını oluştururken genişlik için yüzde değerleri kullandım, bu sayede formun yerleştirileceği kabın boyutlarına kolayca ayarlanabiliyor. “Gönder” butonunun renk şeması, boyutu ve konumu kolaylıkla değiştirilebilir; sadece belirli değerleri denemeniz yeterli.

    /* Temel form stilleri */ form( kenar boşluğu: 0 otomatik; maksimum genişlik: %95; kutu boyutu: kenarlık kutusu; dolgu: 40 piksel; kenarlık yarıçapı: 5 piksel; arka plan: RGBA(255, 255, 255, 1) ) ; - webkit- box- shadow: 0px 0px 15px 0px rgba(0 , 0 , 0 , .45 ) ; box- shadow: 0px 0px 15px 0px rgba(0 , 0 , 0 , .45 ) ; ) /* Kenar boşluğu stilleri giriş */ . metin kutusu( yükseklik: 50 piksel; genişlik: %100; kenarlık- yarıçap: 3 piksel; kenarlık: rgba(0 , 0 , 0 , .3 ) 2 piksel katı; kutu boyutlandırma: kenarlık kutusu; yazı tipi ailesi: "Açık Sans", sans-serif; yazı tipi boyutu: 18 piksel; dolgu: 10 piksel; kenar boşluğu: 30 piksel; ). mesaj: odaklan, . metin kutusu: focus( anahat: yok; kenarlık: rgba(24 , 149 , 215 , 1 ) 2px katı; color: rgba(24 , 149 , 215 , 1 ) ; ) /* Metin kutusu stilleri */ . mesaj( arka plan: rgba(255, 255, 255, 0,4) ; genişlik: %100; yükseklik: 120 piksel; kenarlık: rgba(0, 0, 0, .3) 2 piksel katı; kutu boyutlandırma: kenarlık kutusu; - moz - kenarlık- yarıçap: 3 piksel; yazı tipi boyutu: 18 piksel; yazı tipi ailesi: "Open Sans", sans- serif; - webkit- kenarlık- yarıçap: 3 piksel; kenarlık- yarıçap: 3 piksel; ekran: blok; dolgu: 10 piksel; kenar boşluğu - alt: 30 piksel; taşma: gizli; ) /* Temel düğme stilleri */ . düğme( yükseklik: 50 piksel; genişlik: %100; kenarlık yarıçapı: 3 piksel; kenarlık: rgba(0 , 0 , 0 , .3 ) 0 piksel katı; kutu boyutlandırma: kenarlık kutusu; dolgu: 10 piksel; arka plan: #90c843; color: #FFF; font- ailesi: "Açık Sans", sans- serif; font- ağırlığı: 400; font- size: 16pt; geçiş: arka plan.4s; imleç: işaretçi; ) /* Fareyle üzerine gelindiğinde düğmenin arka planını değiştirin * / . düğme: fareyle üzerine gelin( arka plan: #80b438; )

    /* Temel form stilleri */ form( kenar boşluğu:0 otomatik; maksimum genişlik:95%; kutu boyutu: kenarlık kutusu; dolgu: 40 piksel; kenar yarıçapı: 5 piksel; arka plan:RGBA(255,255,255,1); -webkit -box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .45); box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .45); ) /* Giriş alanı stilleri */ . metin kutusu( yükseklik:50px; genişlik:100%; kenarlık yarıçapı:3px; kenarlık:rgba(0,0,0,.3) 2px katı; kutu boyutlandırma:kenarlık kutusu; yazı tipi ailesi: "Açık Sans", sans-serif; yazı tipi boyutu: 18 piksel; dolgu: 10 piksel; kenar boşluğu: 30 piksel; ) .message:focus, .textbox:focus( anahat: yok; kenarlık:rgba(24,149,215,1) 2 piksel katı; renk:rgba( 24,149,215,1); ) /* Metin alanı stilleri */ .message( arka plan: rgba(255, 255, 255, 0,4); genişlik:%100; yükseklik: 120 piksel; kenarlık:rgba(0,0,0,.3 ) 2 piksel katı; kutu boyutlandırma: kenarlık kutusu; -moz-sınır-yarıçapı: 3 piksel; yazı tipi boyutu: 18 piksel; yazı tipi ailesi: "Açık Sans", sans-serif; -webkit-sınır-yarıçapı: 3 piksel; kenarlık -yarıçap: 3px; ekran:blok; dolgu:10px; kenar boşluğu:30px; taşma:gizli; ) /* Temel düğme stilleri */ .button( height:50px; genişlik:%100; kenarlık yarıçapı:3px; kenarlık:rgba(0,0,0,.3) 0px katı; kutu boyutlandırma:kenarlık kutusu; dolgu:10 piksel; arka plan:#90c843; renk:#FFF; yazı tipi ailesi: "Açık Sans", sans-serif; yazı tipi ağırlığı:400; yazı tipi boyutu: 16 punto; geçiş:arka plan .4'ler; imleç:işaretçi; ) /* Fareyle üzerine gelindiğinde düğmenin arka planını değiştirin */ .button:hover( arka plan:#80b438; )

    İletişim formları için birçok tasarım seçeneği vardır, asıl önemli olan biraz hayal gücüne ve temel CSS bilgisine sahip olmaktır. Blogumun sayfalarında geri bildirim formlarının diğerlerini ve tarzının örneklerini bulabilirsiniz.
    Özellikle dikkatsiz olanlar için bir kez daha açıklamak istiyorum: Makalede sunulan formlar sadece bir dış kabuktur; formların işlevlerini gerçekten yerine getirebilmeleri için onlara bir komut dosyası işleyicisi eklemeniz gerekir; İnternette dağılmış çok sayıda var, bu yüzden ikna edici, lütfen yorumlarda formların çalışmadığını vb. yazmayın, her şey harika çalışıyor, sadece neyi, nerede ve nedenini anlamanız gerekiyor))).

    Saygılarımla, Andrew.