Jak obliczyć wartość nCr
Kombinacja to pojęcie matematyczne. Odnosi się do ułożenia kilku przedmiotów, gdzie ich kolejność nie ma znaczenia. Podstawowa formuła opisuje liczbę prawidłowych kombinacji.
Kaskadowe arkusze stylów (CSS) pozwalają zmienić wygląd stron internetowych. Od czcionek i kolorów po odstępy i ogólny układ — wszystkie narzędzia do projektowania są na wyciągnięcie ręki. Chociaż CSS jest w całości językiem skomplikowanym, istnieją tylko dwie podstawowe koncepcje, które musisz zrozumieć, aby zacząć.
Wszystko zaczyna się od dokładnego określenia, którą część strony chcesz stylizować.
Plik CSS zawiera szereg reguł opisujących sposób formatowania pliku HTML. Każda zasada składa się z dwóch części: co stylizować i jak to stylizować. Pierwsza część jest kontrolowana za pomocą serii terminów znanych jako „selektory”.
Przykłady w tym artykule obejmują deklaracje stylu, ale nie są one przedmiotem zainteresowania: same selektory.
Historycznie istniały trzy poziomy selektorów CSS (lub wersje) o różnym stopniu obsługi przeglądarki. W 2020 roku, według Can I Use , wszystkie są dostępne dla ponad 99 procent użytkowników na całym świecie.
Poziom 1 wprowadził cztery podstawowe typy selektorów, które obejmują ogromną liczbę przypadków, nawet dzisiaj.
Wzór | mecze |
---|---|
E |
wszystkie elementy E |
.c |
wszystkie elementy z class="c" |
#myid |
element z id="myid" |
E F |
element F wewnątrz elementu E |
Pseudoklasy | |
E:link |
hiperłącze do strony, która nie była wcześniej odwiedzana |
E:visited |
hiperłącze do strony, która została już odwiedzona |
E:active |
hiperłącze, które jest aktualnie wybrane |
Pseudoelementy | |
E::first-line |
pierwsza sformatowana linia elementu E |
E::first-letter |
pierwsza sformatowana litera elementu E |
Najprostszym selektorem jest „selektor typu”. Dotyczy wszystkich wystąpień elementu, takich jak akapit lub pogrubiony tekst:
p { margin-bottom: 0; } b { font-family: sans-serif; }
Atrybut class umożliwia dodawanie semantyki do elementu HTML, na przykład określonego typu akapitu. Takie elementy można wybrać w CSS w następujący sposób:
.intro { font-weight: bold; }
Ten selektor pasowałby:
…
Pamiętaj jednak, że pasowałby również:
…
Jeśli chcesz, aby dotyczyło to tylko akapitów wstępnych, możesz połączyć selektor typu i selektor klasy:
p.intro { font-weight: bold; }
Atrybut id HTML powinien być unikalny w obrębie dokumentu, np. jeśli masz:
…
To powinien być jedyny element z identyfikatorem „treści”. Selektor identyfikatora umożliwia kierowanie na ten konkretny element w dokumencie:
#contents { color: #333; }
Ściśle mówiąc, „kombinator”, ponieważ ten selektor polega na przestrzeni między dwoma innymi. HTML jest hierarchiczny, jak wyjaśniliśmy w naszym omówieniu DOM . Selektor potomka umożliwia identyfikację elementu na podstawie jego kontekstu w innym elemencie:
table b { font-weight: normal; }
Pseudo selektory celują w klasy lub elementy, które nie istnieją, ale i tak są dostępne. Pomyśl o nich jako o specjalnych bonusach zawartości:
p::first-line { text-transform: uppercase; }
Użyj przecinka, aby połączyć selektory w listę, jeśli chcesz zastosować do nich ten sam zestaw reguł. Zamiast:
th { padding: 1em; } td { padding: 1em; }
Możesz pisać:
th, td { padding: 1em; }
Arkusz stylów to seria reguł, które używają selektora do dopasowania elementu, ale co się dzieje, gdy więcej niż jedna reguła pasuje do danego elementu? Wynikające z tego zachowanie rządzi się „specyficznością”, która określa, jaka reguła jest stosowana w przypadku takim jak:
p.intro { color: black; } p { color: gray; }
W takich przypadkach zasadę pierwszeństwa określa jej specyfika, jak następuje:
Przy obliczaniu specyficzności każdy poziom jest brany pod uwagę tylko wtedy, gdy dwa selektory mają ten sam wynik na wyższym poziomie, więc „#treść” jest bardziej szczegółowa niż „artykuł.wiadomości p.autor.specjalny”, ponieważ pierwszy „wygrywa” w selektorach identyfikatorów.
W kolejnej wersji selektorów CSS wprowadzono selektory atrybutów, rozszerzono o pseudoklasy i pseudoelementy oraz dodano dwa nowe kombinatory.
Wzór | mecze |
---|---|
* |
dowolny element |
E > F |
element potomny elementu F elementu E |
E + F |
element F bezpośrednio poprzedzony elementem E |
Selektory atrybutów | |
E[foo] |
element E z atrybutem „foo” |
E[foo="bar"] |
element E, którego atrybut „foo” to dokładnie „bar” |
E[foo~="bar"] |
element E, którego atrybut „foo” jest listą wartości oddzielonych spacjami, z których jedną jest „bar” |
E[foo|="en"] |
element E, którego atrybut „foo” ma rozdzieloną myślnikami listę wartości zaczynających się od „en” |
Pseudoklasy | |
E:first-child |
element E, pierwsze dziecko swojego rodzica |
E:lang(fr) |
element typu E w języku „fr” |
Pseudoelementy | |
E::before |
generowana treść przed treścią elementu E |
E::after |
generowana treść po treści elementu E |
Znak „*” pasuje do dowolnego elementu. Często nie jest to przydatne, ale jeśli chcesz na przykład zresetować domyślne marginesy, możesz to zrobić:
* { margin: 0; }
Selektory atrybutów umożliwiają bardzo dokładne kierowanie stylów, filtrowane według atrybutu elementu:
a[title] { text-decoration: underline dotted; }
Podobny do kombinatora potomków, ale ten pasuje tylko do bezpośrednich dzieci, a nie do potomków niżej w drzewie. Na przykład „ul > li” będzie pasować tylko do tekstu „Sekcja 1”, a nie „Sekcja 1.1”:
Section 1
Section 1.1
Section 1.2
h1 + p { font-weight: bold; }
Często przydatny do kontrolowania marginesów lub akapitu wprowadzającego bez określonej klasy, ten selektor dopasowuje jeden element tylko wtedy, gdy następuje bezpośrednio po innym. W tym przykładzie dopasowany zostanie tylko pierwszy akapit, a nie drugi:
Contents
some extra text
Introductory paragraph
Following paragraph
Zwróć uwagę, że ten selektor uwzględnia tylko elementy — nie tekst — przy podejmowaniu decyzji o tym, kim jest następne rodzeństwo.
Niektóre właściwości CSS dziedziczą swoją wartość z elementu przodka. W praktyce oznacza to – na przykład – że ustawienie kroju czcionki elementu „body” oznacza, że każdy akapit, tabela itp. również używa tego samego kroju czcionki.
Oczywiście jest to dokładnie to, czego można się spodziewać, ale weź pod uwagę właściwość, która nie dziedziczy: na przykład „margin”. Nie chciałbyś, aby każdy pojedynczy akapit lub fragment pogrubionego tekstu miał taki sam margines jak cały dokument.
Powiązane: Proste przykłady kodu CSS, których możesz się nauczyć w 10 minut
Dobrą praktyczną zasadą jest kierowanie na elementy tak ogólnie, jak to ma sens — nie kieruj na każdy pojedynczy element, gdy wystarczy prosty selektor „body”.
Na tym poziomie dodano znacznie więcej pseudoklas, a także kilka selektorów atrybutów i nowy kombinator.
Wzór | mecze |
---|---|
E ~ F |
element F poprzedzony elementem E |
Selektory atrybutów | |
E[foo^="bar"] |
element E, którego atrybut „foo” zaczyna się od ciągu „bar” |
E[foo$="bar"] |
element E, którego atrybut „foo” kończy się ciągiem „bar” |
E[foo*="bar"] |
element E, którego atrybut „foo” zawiera podłańcuch „bar” |
Pseudoklasy | |
E:root |
element E, korzeń dokumentu |
E:nth-child(n) |
element E, n-te dziecko jego rodzica |
E:nth-last-child(n) |
element E, n-te dziecko swojego rodzica, licząc od ostatniego |
E:nth-of-type(n) |
element E, n-te rodzeństwo tego typu |
E:nth-last-of-type(n) |
element E, n-te rodzeństwo tego typu, licząc od ostatniego |
E:last-child |
element E, ostatnie dziecko swojego rodzica |
E:first-of-type |
element E, pierwsze rodzeństwo tego typu |
E:last-of-type |
element E, ostatnie rodzeństwo tego typu |
E:only-child |
element E, jedyne dziecko jego rodzica |
E:only-of-type |
element E, tylko rodzeństwo tego typu |
E:empty |
element E, który nie ma dzieci (w tym węzłów tekstowych) |
E:target |
element E będący celem odsyłającego URI |
E:enabled |
element interfejsu użytkownika E, który jest włączony |
E:disabled |
element interfejsu użytkownika E, który jest wyłączony |
E:checked |
element interfejsu użytkownika E, który jest zaznaczony |
E:not(s) |
element E, który nie pasuje do prostego selektora s |
Możesz wybrać elementy z atrybutem, który zaczyna się od podanej wartości: a[href^="https:"]
, kończy się na podaną wartość: img[src$=".gif"]
lub zawiera wartość: a[*="value"]
.
Dodatkowe pseudoklasy obejmują „:last-child”, „:empty” (aby dopasować element bez zawartości) i „:checked”, które dopasowują element, np. pole wyboru, ale tylko wtedy, gdy jest zaznaczone.
Podobnie jak w przypadku kombinatora sąsiedniego rodzeństwa z poziomu 2, pasuje on do każdego rodzeństwa, które pojawia się po drugim, a nie tylko do następnego:
h1 ~ p { font-size: 110%; }
Teraz wiesz już prawie wszystko o tym, jak wybrać część strony internetowej za pomocą CSS. Teraz możesz nadać styl swoim stronom za pomocą szerokiej gamy właściwości CSS, które obejmują wszystko, od kolorów po układ.
Źródło zdjęcia : Pankaj Patel / Unsplash
Kombinacja to pojęcie matematyczne. Odnosi się do ułożenia kilku przedmiotów, gdzie ich kolejność nie ma znaczenia. Podstawowa formuła opisuje liczbę prawidłowych kombinacji.
Solidity to język programowania używany przez inteligentne kontrakty na blockchainie Ethereum. Jest to statyczny, zorientowany obiektowo język programowania.
SQL kontra NoSQL: jaka jest najlepsza baza danych dla twojego następnego projektu?
Wielu programistów uwielbia rozwiązywać trudne problemy matematyczne za pomocą kodu. Pomaga wyostrzyć umysł i poprawić umiejętności rozwiązywania problemów. W tym artykule dowiesz się, jak znaleźć najmniejsze i największe n-cyfrowe idealne kwadraty i sześciany za pomocą Pythona, C++ i JavaScript. Każdy przykład zawiera również przykładowe dane wyjściowe dla kilku różnych wartości.
Chociaż możesz używać kalkulatora graficznego na swoim komputerze, interpreter języka programowania Python może pełnić funkcję kalkulatora biurkowego. Jest to tak popularny żart na temat biegania w społeczności Pythona, że wspomniano o nim w oficjalnym samouczku. Oto, jak używać Pythona jako kalkulatora.
Umieszczanie usług stron trzecich w swoich postach WordPress to ekscytujący sposób na przyciągnięcie zainteresowania odwiedzających. Osadzone treści zawierają również wskazówki wizualne, które ułatwiają skanowanie. WordPress ułatwił dodawanie tego typu treści.
Jeśli jesteś początkującym naukowcem zajmującym się danymi, który pracuje z Pythonem lub R, musisz wiedzieć, jak korzystać z Jupyter Notebook. Jest to środowisko IDE typu open source i serwerowe do manipulowania danymi, udostępniania kodu na żywo, a także zarządzania przepływem pracy w nauce o danych.
Tech to bez wątpienia branża przyszłości. Jeśli jesteś jednym z milionów młodych dorosłych, którzy mają rozpocząć pierwszy etap swojej kariery, być może zastanawiasz się, co zrobić, jeśli nie lubisz kodować.
Nauka nowego języka programowania, takiego jak Python, staje się bezproblemowa, jeśli masz kompleksową mapę drogową, szczegółowo opisującą koncepcje, których należy się nauczyć jako początkujący i jak robić dalsze postępy, aby osiągnąć kolejny kamień milowy. Nawet średniozaawansowani programiści powinni często odświeżyć swoje podstawy, aby zbudować dla siebie solidną podstawę.
ASP.NET to bezpłatna wieloplatformowa platforma firmy Microsoft do tworzenia aplikacji i usług internetowych. Platforma ASP.NET jest rozszerzeniem .NET, platformy programistycznej narzędzi, języków programowania i bibliotek używanych do tworzenia różnych aplikacji.
Kontenery są bardzo przydatne przy opracowywaniu, wdrażaniu i zarządzaniu oprogramowaniem w środowisku wirtualnym. Docker jest przydatny w procesie konteneryzacji, ale nie jest jedyną platformą. Jeśli szukasz alternatyw dla Dockera, nie szukaj dalej. Ta lista przedstawia niektóre bogate w funkcje i wydajne alternatywy platformy Docker, które można wykorzystać w następnym projekcie.
Niektóre z najczęściej omawianych aplikacji mobilnych i doświadczeń w dzisiejszych czasach wykorzystują technologię rozszerzonej rzeczywistości. Podczas gdy niektóre z tych doświadczeń mogą działać na praktycznie każdym urządzeniu mobilnym, inne działają tylko na nowszych i droższych modelach. Tworzenie i używanie tych bardziej zaawansowanych środowisk wymaga ARCore i ARKit.
Gałęzie są kluczowe dla koncepcji kontroli wersji w programowaniu, aw szczególności w Git. W tym artykule startowym dowiesz się, czym jest gałąź i jak ją utworzyć przy użyciu wielu różnych narzędzi.
Instrukcja if jest siłą napędową programowania logicznego. W rezultacie lepsze zrozumienie Pythona jest znaczącym dodatkiem do twoich umiejętności programowania w Pythonie.
Odznaki GitHub mogą zwiększyć czytelność repozytorium, zapewniając użytkownikom szybki sposób przechwytywania metryk repozytorium. Plakietki mogą być osadzone w pliku README.md, aby wyjaśnić innym programistom znaczenie i konieczność Twojego projektu. W rezultacie czytelnicy bardzo szybko dowiadują się o repozytorium, sprawdzając dołączone identyfikatory.
Popularny silnik pamięci masowej Redis jest doskonałym i niezbędnym narzędziem w każdym arsenale programistów. Silnik pamięci masowej w pamięci umożliwia niezwykle szybkie przechowywanie i pobieranie danych, do imponujących 32 milionów zapytań na sekundę, co czyni go doskonałym uzupełnieniem każdego głównego silnika bazy danych.
Część magii tworzenia oprogramowania pojawia się, gdy wiersze kodu łączą się w coś więcej niż sumę ich części. Przekonasz się, że gdy próbujesz budować w ten sposób abstrakcyjnie, potrzebujesz trochę kreatywnej wizualizacji. Może to dotyczyć przetwarzania tekstu lub projektowania stron internetowych, podobnie jak w przypadku programowania.
Jako użytkownik systemu Windows prawdopodobnie przynajmniej raz natknąłeś się na słowa .NET Framework. Jest to platforma oprogramowania opracowana przez firmę Microsoft, która umożliwia tworzenie i uruchamianie programów w językach C#, C++, F# i Visual Basic. Najnowsza wersja platformy .NET to 4,8, ale Twój komputer może wymagać starszej wersji platformy .NET (np. .NET 3.5) do uruchamiania niektórych aplikacji.
Budując stronę internetową dla siebie lub swojej firmy często stajesz przed klasycznym dylematem. WordPress vs. Wix — który wybrać i jaki byłby dla Ciebie najlepszy?
Chociaż Linux może nie być ulubionym systemem operacyjnym dla zwykłych użytkowników, jest to wybór dla większości programistów i programistów. Linux jest bardziej praktycznym systemem operacyjnym, który został specjalnie zaprojektowany z myślą o programowaniu i programistach.
Kombinacja to pojęcie matematyczne. Odnosi się do ułożenia kilku przedmiotów, gdzie ich kolejność nie ma znaczenia. Podstawowa formuła opisuje liczbę prawidłowych kombinacji.
Solidity to język programowania używany przez inteligentne kontrakty na blockchainie Ethereum. Jest to statyczny, zorientowany obiektowo język programowania.
SQL kontra NoSQL: jaka jest najlepsza baza danych dla twojego następnego projektu?
Wielu programistów uwielbia rozwiązywać trudne problemy matematyczne za pomocą kodu. Pomaga wyostrzyć umysł i poprawić umiejętności rozwiązywania problemów. W tym artykule dowiesz się, jak znaleźć najmniejsze i największe n-cyfrowe idealne kwadraty i sześciany za pomocą Pythona, C++ i JavaScript. Każdy przykład zawiera również przykładowe dane wyjściowe dla kilku różnych wartości.
Chociaż możesz używać kalkulatora graficznego na swoim komputerze, interpreter języka programowania Python może pełnić funkcję kalkulatora biurkowego. Jest to tak popularny żart na temat biegania w społeczności Pythona, że wspomniano o nim w oficjalnym samouczku. Oto, jak używać Pythona jako kalkulatora.
Umieszczanie usług stron trzecich w swoich postach WordPress to ekscytujący sposób na przyciągnięcie zainteresowania odwiedzających. Osadzone treści zawierają również wskazówki wizualne, które ułatwiają skanowanie. WordPress ułatwił dodawanie tego typu treści.
Jeśli jesteś początkującym naukowcem zajmującym się danymi, który pracuje z Pythonem lub R, musisz wiedzieć, jak korzystać z Jupyter Notebook. Jest to środowisko IDE typu open source i serwerowe do manipulowania danymi, udostępniania kodu na żywo, a także zarządzania przepływem pracy w nauce o danych.
Tech to bez wątpienia branża przyszłości. Jeśli jesteś jednym z milionów młodych dorosłych, którzy mają rozpocząć pierwszy etap swojej kariery, być może zastanawiasz się, co zrobić, jeśli nie lubisz kodować.
Nauka nowego języka programowania, takiego jak Python, staje się bezproblemowa, jeśli masz kompleksową mapę drogową, szczegółowo opisującą koncepcje, których należy się nauczyć jako początkujący i jak robić dalsze postępy, aby osiągnąć kolejny kamień milowy. Nawet średniozaawansowani programiści powinni często odświeżyć swoje podstawy, aby zbudować dla siebie solidną podstawę.
ASP.NET to bezpłatna wieloplatformowa platforma firmy Microsoft do tworzenia aplikacji i usług internetowych. Platforma ASP.NET jest rozszerzeniem .NET, platformy programistycznej narzędzi, języków programowania i bibliotek używanych do tworzenia różnych aplikacji.