Czy w dzisiejszych czasach znajomosc bootstrapa jest niezbedna?

Czy w dzisiejszych czasach znajomosc bootstrapa jest niezbedna?
TU
  • Rejestracja:prawie 8 lat
  • Ostatnio:8 miesięcy
  • Lokalizacja:Wrocław
  • Postów:56
0
  1. Chcialem sie dowiedziec czy w dzisiejszych czasach, osoby zaczynajace uczyc sie front-endu powinny opanowac tworzenie stron rwd rowniez bez uzycia zadnych gridow czy raczej preferowana jest nauka jakiegos grida?
  2. Zaczalem uczyc sie html/css i napisalem swoja pierwsza stronke w ramach cwiczen. Probowalem napisac ją bez zadnych gridów, korzystajac jedynie z pozycjonowania i floatów. Jednak w pewnym momencie natknalem na problem, jak wycentrowac 2 divy obok siebie, zeby dzialaly jak przy uzyciu np bootstrapa, mianowicie zeby przy zmniejszeniu szerokosci okna, stackowały się. Mam duzy mętlik w głowie i nie mam pojecia jak osiągnąc taki efekt bez grida. Poniżej daję sekcję mojej stronki, w której ten problem występuje.
    Formularz po prawej stronie, powinien reagowac poprawnie na zwężanie strony (tak jak przy bootstrapie), jednak w pewnym momencie inputy zaczynają wychodzic mi poza body. Jaki jest na to sposob, zeby przy mobile, cala sekcja stackowala sie w taki sposob, zeby na gorze byla api mapy googla a ponizej tej mapy formularz?

https://codepen.io/tubaris/pen/YQQewB/

edytowany 1x, ostatnio: flowCRANE
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0

gotowy, przetestowany grid to dobre narzędzie wspomagające/przyspieszające budowę strony, nie widzę powodu aby go nie używać


TU
  • Rejestracja:prawie 8 lat
  • Ostatnio:8 miesięcy
  • Lokalizacja:Wrocław
  • Postów:56
0
czysteskarpety napisał(a):

gotowy, przetestowany grid to dobre narzędzie wspomagające/przyspieszające budowę strony, nie widzę powodu aby go nie używać

Ok, ale czy programista powinien umiec zbudowac strone tylko przy jego uzyciu? czy powinien tez umiec osiagnac taki sam efekt korzystajac jedynie z pozycjonowania, flexboxa czy floatowania?

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 8 godzin
2

Dobry programista powinien móc dogadać się z klientem (bądź analitykiem biznesowym lub innym kontaktem), by osiągnąć opłacalne i satysfakcjonujące rozwiązanie. Jeśli to co chce klient da się załatwić sprawdzonym gotowcem to używamy sprawdzonego gotowca. Jeśli nie to drążymy temat i robimy coś swojego. Inną kwestią jest nasza ambicja - możemy stwierdzić, że bez umiejętności ręcznego tworzenia grida jesteśmy słabi i robimy sobie grida, by poćwiczyć i polepszyć sobie nastrój. Jednak zawsze coś tam nie będziemy mieć opanowanego, więc przy specyficznej mentalności zawsze będziemy powątpiewać czy jesteśmy "dobrymi programistami".

Z drugiej strony jeśli zajmuję się czymś co mnie interesuje to szybciej to ogarniam niż coś do czego się zmuszam. Więc jeśli ręczne grzebanie w gridach cię jara to grzeb. Jeśli nie to opanuj jakiś inny przydatny bajer.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
TU
  • Rejestracja:prawie 8 lat
  • Ostatnio:8 miesięcy
  • Lokalizacja:Wrocław
  • Postów:56
0
Wibowit napisał(a):

Dobry programista powinien móc dogadać się z klientem (bądź analitykiem biznesowym lub innym kontaktem), by osiągnąć opłacalne i satysfakcjonujące rozwiązanie. Jeśli to co chce klient da się załatwić sprawdzonym gotowcem to używamy sprawdzonego gotowca. Jeśli nie to drążymy temat i robimy coś swojego. Inną kwestią jest nasza ambicja - możemy stwierdzić, że bez umiejętności ręcznego tworzenia grida jesteśmy słabi i robimy sobie grida, by poćwiczyć i polepszyć sobie nastrój. Jednak zawsze coś tam nie będziemy mieć opanowanego, więc przy specyficznej mentalności zawsze będziemy powątpiewać czy jesteśmy "dobrymi programistami".

Z drugiej strony jeśli zajmuję się czymś co mnie interesuje to szybciej to ogarniam niż coś do czego się zmuszam. Więc jeśli ręczne grzebanie w gridach cię jara to grzeb. Jeśli nie to opanuj jakiś inny przydatny bajer.

A co jesli bede potrafic zrobic stronke tylko i wylacznie uzywajac grida, a bez grida bede lezal, kwiczal i nie bede potrafil sobie poradzic w pracy gdzie np. nie uzywa sie gridow?

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 8 godzin
0

No to będziesz musiał nauczyć się gridów. Proste. Na rekrutacji pokazujesz co potrafisz, jeśli pracodawcy się spodoba to cię rekrutuje. To normalne, że programista nie wie wszystkiego i musi się douczać w czasie pracy. W pracy zwykle też pracuje się w zespole, więc będziesz miał okazję pogadać o gridach z kolegami z zespołu.

Jeśli nad gridami spędzisz 3 m-ce i je w końcu obcykasz, a jednocześnie nie zdążysz z 50 innymi przydatnymi rzeczami, to możliwe że na rekrutacji wypadniesz gorzej w oczach pracodawcy, niż ktoś kto zna tylko gotowe gridy, ale za to opanował te 50 innych przydatnych bajerów.

Poza tym, jeśli skierujesz swoją uwagę na opanowanie 50 innych bajerów to możliwe, że po powrocie do gridów będzie ci łatwiej je opanować, bo po drodze potencjalnie może ci się rozjaśnić wiele kluczowych kwestii.

Aktualizacja:
Zauważyłem inny twój post: Jaki macie pomysl na taki LP bez grida?
Oczywiście jeśli jako zadanie rekrutacyjne dostałeś wprost zrobienie grida ręcznie to musisz go zrobić ręcznie, bo pracodawca ma taki kaprys. Natomiast jeśli nie uda ci się tego zrobić to świat się nie zawali - możesz spróbować się dostać do innego pracodawcy. Może inny nie będzie miał takich kaprysów.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 2x, ostatnio: Wibowit
TU
  • Rejestracja:prawie 8 lat
  • Ostatnio:8 miesięcy
  • Lokalizacja:Wrocław
  • Postów:56
0
Wibowit napisał(a):

No to będziesz musiał nauczyć się gridów. Proste. Na rekrutacji pokazujesz co potrafisz, jeśli pracodawcy się spodoba to cię rekrutuje. To normalne, że programista nie wie wszystkiego i musi się douczać w czasie pracy. W pracy zwykle też pracuje się w zespole, więc będziesz miał okazję pogadać o gridach z kolegami z zespołu.

Jeśli nad gridami spędzisz 3 m-ce i je w końcu obcykasz, a jednocześnie nie zdążysz z 50 innymi przydatnymi rzeczami, to możliwe że na rekrutacji wypadniesz gorzej w oczach pracodawcy, niż ktoś kto zna tylko gotowe gridy, ale za to opanował te 50 innych przydatnych bajerów.

Poza tym, jeśli skierujesz swoją uwagę na opanowanie 50 innych bajerów to możliwe, że po powrocie do gridów będzie ci łatwiej je opanować, bo po drodze potencjalnie może ci się rozjaśnić wiele kluczowych kwestii.

Ostatnio dostalem zadanie rekrutacyjne od firmy zeby zrobic landinga, ale zaznaczyli ze nie moge uzywac zadnych frameworkow. Czyli chodzi im, zebym sobie napisal grida recznie? (budowa strony 3 i 4 kolumnowa).

https://image.ibb.co/h7Ke9a/fff.jpg

Jak coś takiego zrobic bez grida powiedzcie mi?

edytowany 1x, ostatnio: tubaris
NA
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:13
0

Według mnie opanowywanie tworzenia stron RWD bez gridów nie ma sensu, ponieważ:

  1. gridy ułatwiają życie
  2. łatwiej wprowadzać poprawki
  3. gridy będą z nami długi długi czas

Co do tego:

Ja widzę to tak:

  1. border-box
Kopiuj
* {box-sizing: border-box;}
  1. Za pomocą klas przypisz szerokości elementom lub ich "kontenerom"

! UWAGA: Zwróć uwagę, na to, że część elementów ma jednakową szerokość, ewentualnie można opakować to w kontener

przykład: krótszy button, pole tekstowe (1 z 3 - to w linii) i kontener z ikonami social mają "tą samą" szerokość - powiedzmy 300px;

Kopiuj
.klasa1 {width: 300px;}
Kopiuj
<!-- KRÓTSZY BUTTON -->
<span id="button" class="klasa1"><!-- TEKST --></span>

<!-- POLE TEKSTOWE -->
<div class="klasa1">
        <h1><!-- TYTUŁ --></h1>
        <p><!-- TREŚĆ --></p>
</div>

<!-- SOCIAL -->
<div id="social" class="klasa1"><!-- SOCIAL MEDIA --></div>

Ważne: szerokość elementu / kontenera określa klasa w tym wypadku - klasa1

W ten sposób stworzysz takie 3-4 klasy i masz cały szablon podzielony na "sektory".

edytowany 1x, ostatnio: nathanfox
TU
Ale jak dam stałą szerokość pudełek to przy pomniejszaniu okna przeglądarki pudełka te nie będą się zmniejszać tylko wychodzić poza przeglądarkę. Lepiej ustawić szerokość w tej klasie1 w procentach tak? Wtedy całość będzie się proporcjonalnie pomniejszac wraz z szerokością okna
NA
@tubaris: Zawsze możesz wyrazić w % i będzie zawsze wielkości % okna ;) Później ewentualnie Media Queries
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0

ściągnij sobie skeleton grid, ma 418 linijek, wykasuj buttony, komenty i inne pierdy, zostanie gdzieś połowa, resztę dostosuj pod siebie i tyle...


aurel
Moderator
  • Rejestracja:prawie 15 lat
  • Ostatnio:minuta
0

Ale jak dam stałą szerokość pudełek to przy pomniejszaniu okna przeglądarki pudełka te nie będą się zmniejszać tylko wychodzić poza przeglądarkę. Lepiej ustawić szerokość w tej klasie1 w procentach tak? Wtedy całość będzie się proporcjonalnie pomniejszac wraz z szerokością okna

Jeżeli kontenerowi nadasz stałą szerokość, to będą wyjeżdżać. Jeśli kontenerowi nadasz 100%, to boxy będą "spadać" jeden pod drugi.
Pokazany przez ciebie layout jest tak prosty, że ja tu nawet nie bardzo widzę miejsce na grida... Dla tych trzech kolumn? No kaman, tyle to powinieneś umieć bez bootstrapa...

A w twoim przykładzie (https://codepen.io/tubaris/pen/YQQewB/) problem leży o tutaj:

Kopiuj
.input-data input, textarea, select {
    position: relative;
    left: 300px;
    margin-left: 300px;
    font-size: 70%;
    font-family: 'Lato', 'Arial', sans-serif;
    width: 40%;
    border-radius: 5px;
    border: 1px solid #d4d4d4;
    padding: 5px;
    margin: 10px 0;
}

Usuń left: 300px;
Generalnie nadużywasz position: relative, wygląda, jakbyś nie wiedział do czego to jest.
Przy okazji - wrzucanie każdego inputa w oddzielny form to też nie jest prawidłowe podejście.

edytowany 1x, ostatnio: aurel
TU
A jaki miałbyś pomysł na zrobienie czegoś takiego, żeby mapa była na całą szerokość strony, a pudełko z formularzem żeby było po prawej stronie mapy i żeby miało transparent bckgrnd żeby lekko się spod spodu przebijala? Wtedy ciężko jest to tak ostylowac żeby przy zmniejszaniu szerokości przeglądarki, formularz od pewnego miejsca wskakiwal pod mapę i aby zarówno mapa jak i formularz były na 100% width. Czy do tego wystarcza breakpointy które określa mapę i formularz na 100% width gdy przeglądarkę się pomniejszy?
aurel
Moderator
  • Rejestracja:prawie 15 lat
  • Ostatnio:minuta
0

A jaki miałbyś pomysł na zrobienie czegoś takiego, żeby mapa była na całą szerokość strony, a pudełko z formularzem żeby było po prawej stronie mapy i żeby miało transparent bckgrnd żeby lekko się spod spodu przebijala? Wtedy ciężko jest to tak ostylowac żeby przy zmniejszaniu szerokości przeglądarki, formularz od pewnego miejsca wskakiwal pod mapę i aby zarówno mapa jak i formularz były na 100% width. Czy do tego wystarcza breakpointy które określa mapę i formularz na 100% width gdy przeglądarkę się pomniejszy?

Komentarze służą do off-topicu, jeśli piszesz w temacie, to pisz normalnie posta - dyskusja jest wtedy bardziej przejrzysta.

O ile dobrze rozumiem to co opisałeś, to ja bym to rozwiązała tak:

  1. Kontener zawiera w sobie mapę i formularz
  2. Kontener ma position relative
  3. Formularz ma position: absolute, right: 0, top: 0
  4. Ani formularz, ani mapa nie powinny mieć w tej sytuacji żadnych floatów
  5. Dla rozdzielczości, w której chcesz by przeskakiwało pod spód, zmieniasz absolute formularza na relative i tyle.
NA
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:13
0

@aurel bardzo schematycznie Ci to opisała.

  1. Kontener zawiera w sobie mapę i formularz
  2. Kontener ma position relative
  3. Formularz ma position: absolute, right: 0, top: 0
  4. Ani formularz, ani mapa nie powinny mieć w tej sytuacji żadnych floatów
  5. Dla rozdzielczości, w której chcesz by przeskakiwało pod spód, zmieniasz absolute formularza na relative i tyle.

Od siebie mogę dodać tylko, że wato byłoby lepiej poznać właściwości HTML i CSS - polecam webkod - wszystko jest w dość prosty i przejrzysty sposób opisane.

Ogólnie to zanim zabierzemy się za kodowanie szablonów warto nauczyć się robić układ na kolorowych divach - taka moja drobna sugestia :)

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)