[PHP][CSS][JavaScript]Stylizacja graficzna select |
[PHP][CSS][JavaScript]Stylizacja graficzna select |
22.05.2018, 13:36:47
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 11.05.2018 Ostrzeżenie: (0%) |
Hej wszystkim. Mam problem, mam napisana sporą część kodu, i wszystko super ciągnie z bazy, porównuje i takie tam. Jest to wszystko w formie list rozwijalnych, no i problem polega na tym jak taką liste obrobić graficznie w java script, bo tylko takie coś wchodzi w gre... proszę o pomoc
|
|
|
22.05.2018, 13:42:17
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No ale jak obrobic graficznie? Co chcesz osiagnac jako efekt koncowy? Jakis przyklad?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.05.2018, 13:47:11
Post
#3
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 11.05.2018 Ostrzeżenie: (0%) |
chodzi mi o to że chce aby ta lista rozwijalna miała nową strzałkę, suwak inny niż domyślny, a także lepszy wygląd np pomarańczowy wygąd. takie tam bajery.
|
|
|
22.05.2018, 13:57:27
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
https://www.w3schools.com/howto/howto_custom_select.asp
https://codepen.io/ericrasch/pen/zjDBx i cala masa innych przykladow do znalezienia w google. Sa tez biblioteki js maja jeszcze wiecej bajerow http://gregfranko.com/jquery.selectBoxIt.js/#Examples https://www.cssscript.com/tag/select/ -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.05.2018, 14:02:00
Post
#5
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 11.05.2018 Ostrzeżenie: (0%) |
Kod wygląda tak, wiem że jest on tam wywołany 7 razy jedno i to samo, lecz po jego skrócenium nie działa jak należy.A czy nie brakuje mi tu czegoś, jakiegoś <select> bo jak próbowałem to stylizować to nie działało, a przekopałem te strone i inne i dalej nic. HELP |
|
|
22.05.2018, 14:08:07
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat a przekopałem te strone i inne i dalej nic. Wrozek tu nie ma. Nie mamy pojecia jaka strone kopales i czy byla na lezaco i czy ledwo zywa.Jak masz problem z jakims kodem css/js to wstaw to nam tutaj bysmy widzieli jak probowales. I zrob to wpierw na jednym przykladzie select. Ciezko sie czyta kod gdzie jest petryliards linii kodu php bo pokazujesz nam cala swoja strone -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.05.2018, 14:17:05
Post
#7
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 11.05.2018 Ostrzeżenie: (0%) |
http://blog.wilgosz.pl/stylizacja-elementu-select/ Z tego wklejałem i próbowałem
|
|
|
22.05.2018, 20:43:35
Post
#8
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 1 Dołączył: 8.08.2010 Ostrzeżenie: (0%) |
Generalnie JS nie służy do stylizacji elementów. Rola JS po stronie przeglądarki to wzbogacenie interakcji z użytkownikiem. Do stylizacji wykorzystywany jest CSS. Oczywiście istnieje API, które umożliwia stylizację elementów DOM ale powinno dziać się to dopiero w wyniku interakcji z użytkownikiem (np. zmiana koloru elementu po kliknięciu). Bez sensu jest wysyłać do przeglądarki dokument HTML, czekać aż przeglądarka go wyrenderuje, a na koniec zaaplikować jej skrypt JS tylko po to żeby ustalić wygląd elementów, ponieważ to oznacza że przeglądarka będzie musiała wyrenderować wszystko jeszcze raz.
Stylizacja w wykonaniu JS odbywa się za pomocą własności style, która reprezentuje atrybut style: Kod var element = document.querySelector(".myclass"); // zwraca pierwszy element w dokumencie o klasie "myclass"
var elements = document.querySelectorAll(".myclass"); // zwraca wszystkie elementy w dokumencie o klasie "myclass" // stylowanie kolekcji elementów elements.forEach( function(element) { element.style.color = "red"; element.style.marginTop = "5px"; // używasz camelCase czyli "margin-top" zmienia się na "marginTop" }); // stylowanie pojedynczego elementu element.style.color = "green"; element.style.marginTop = "5px"; |
|
|
23.05.2018, 07:36:33
Post
#9
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 11.05.2018 Ostrzeżenie: (0%) |
No dobra, ale do czego mi ten kod, gdzie mam go wstawić?
|
|
|
23.05.2018, 09:54:28
Post
#10
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 1 Dołączył: 8.08.2010 Ostrzeżenie: (0%) |
To jest tylko przykład. Chodziło mi tylko o to żeby pokazać Ci jak można zmienić style za pomocą JS. Odnośnie tego gdzie umieszczać skrypty JS, to najlepiej jak zrobisz to na samym końcu dokumentu, zaraz przed </body>. Jeżeli umieścisz skrypt w <head>, to musisz mieć pewność, że DOM już się załadował. Możesz to tego wykorzystać event 'DOMContentLoaded'. Ten event jest odpalany wtedy kiedy kiedy HTML jest już całkowicie załadowany (ale bez czekania na arkusze stylów, obrazy itd.).
Kod document.addEventListener("DOMContentLoaded", function(event) { console.log("DOM fully loaded and parsed"); }); Jeżeli chcesz poczekać aż wszystko (HTML, CSS , obrazki) się załaduje, to używasz eventu 'load'. Kod window.addEventListener("load", function(event) {
console.log("All resources finished loading!"); }); Ten post edytował bael 23.05.2018, 10:35:46 |
|
|
29.05.2018, 11:03:54
Post
#11
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 11.05.2018 Ostrzeżenie: (0%) |
Ok, udało mi sie, tylko zrobiłem pięknię ładnie moją liste rozwijalną, lecz w niektórych przypadkach takich jak kaliber, jest tam około ich 50 sztuk, i przydał by mi się suwak do tego stylu css co tu mam:
Kod .custom-select { position: relative; font-family: Times New Roman; .custom-select select { display: none; /*hide original SELECT element:*/ } .select-selected { background-color: #FFE041; } /*style the arrow inside the select element:*/ .select-selected:after { position: absolute; content: ""; top: 15px; right: 10px; width: 0; height: 0; border: 12px solid transparent; border-color: #fff transparent transparent transparent; } /*point the arrow upwards when the select box is open (active):*/ .select-selected.select-arrow-active:after { border-color: transparent transparent #fff transparent; top: 6px; } /*style the items (options), including the selected item:*/ .select-items div,.select-selected { color: black; padding: 8px 16px; border: 3px solid transparent; border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent; cursor: pointer; user-select: none; } /*style items (options):*/ .select-items { position: absolute; background-color: #FFE041; top: 100%; left: 0; right: 0; z-index: 99; overflow: auto; } /*hide the items when the select box is closed:*/ .select-hide { display: none; } .select-items div:hover, .same-as-selected { background-color: rgba(0, 0, 0, 0.1); } Dobra rozwiązane, ale wyszedł następny kłopot, po wybraniu z listy np 2 opcji bo powiedzmy się pomyliłem a chciałem wziąść pierwszą to ta pierwsza opcja mi znika . Jakby ją tu wrócić, czegoś mi css brakuje? Problem rozwiążany do zamknięcia Ten post edytował stecosik1 24.05.2018, 09:10:44 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 09:31 |