Source

Приод

Дознајте за водечките принципи, стратегии и техники кои се користат за изградба и одржување на Bootstrap за полесно да го приспособите и проширите сами.

Додека страниците за почеток обезбедуваат воведна обиколка на проектот и она што го нуди, овој документ се фокусира на тоа зошто ги правиме работите што ги правиме во Bootstrap. Ја објаснува нашата филозофија за градење на веб за да можат другите да учат од нас, да придонесуваат со нас и да ни помогнат да се подобриме.

Гледате нешто што не звучи правилно, или можеби може да се направи подобро? Отворете прашање - би сакале да разговараме за тоа со вас.

Резиме

Ќе се нурнеме во секое од овие повеќе во текот, но на високо ниво, еве што го води нашиот пристап.

  • Компонентите треба да бидат одговорни и на прво место на мобилните
  • Компонентите треба да се градат со основна класа и да се прошират преку класи на модификатори
  • Состојбите на компонентите треба да се покоруваат на заедничката скала на z-индекс
  • Секогаш кога е можно, претпочитајте имплементација на HTML и CSS наместо JavaScript
  • Секогаш кога е можно, користете комунални услуги преку сопствени стилови
  • Секогаш кога е можно, избегнувајте да спроведувате строги барања за HTML (детски избирачи)

Одговорен

Респонзивните стилови на Bootstrap се изградени да бидат одговорни, пристап кој често се нарекува како мобилен-прво . Ние го користиме овој термин во нашите документи и во голема мера се согласуваме со него, но понекогаш може да биде премногу широк. Иако не секоја компонента мора да биде целосно одговорна во Bootstrap, овој одговорен пристап е за намалување на отфрлањата на CSS со притискање да додавате стилови како што пристаништето за гледање станува поголемо.

Низ Bootstrap, ова најјасно ќе го видите во нашите медиумски прашања. Во повеќето случаи, ние користиме min-widthпрашања кои почнуваат да се применуваат на одредена точка на прекин и се пренесуваат низ повисоките точки на прекин. На пример, a .d-noneсе применува од min-width: 0до бесконечност. Од друга страна, a .d-md-noneсе применува од средната точка на прекин и нагоре.

Понекогаш ќе користиме max-widthкога тоа го бара вродената сложеност на компонентата. Понекогаш, овие прескокнувања се функционално и ментално појасни за имплементација и поддршка отколку препишување на основната функционалност од нашите компоненти. Ние се стремиме да го ограничиме овој пристап, но ќе го користиме од време на време.

Часови

Настрана од нашиот Reboot, лист со стилови за нормализирање на вкрстени прелистувачи, сите наши стилови имаат за цел да користат класи како избирачи. Ова значи да се оддалечите од избирачите на типови (на пр., input[type="text"]) и надворешните родителски класи (на пр., .parent .child) кои ги прават стиловите премногу специфични за лесно да се отфрлат.

Како такви, компонентите треба да се градат со основна класа во која се сместени вообичаени, кои не треба да се отфрлаат парови на имот-вредност. На пример, .btnи .btn-primary. Ние користиме .btnза сите вообичаени стилови како display, padding, и border-width. Потоа користиме модификатори како .btn-primaryда додаваме боја, боја на позадина, боја на граница, итн.

Класите на модификатори треба да се користат само кога има повеќе својства или вредности што треба да се променат кај повеќе варијанти. Модификаторите не се секогаш неопходни, затоа бидете сигурни дека всушност зачувувате линии на код и спречувате непотребни отфрлања при нивното креирање. Добри примери на модификатори се нашите класи на бои на тема и варијанти на големина.

z-индекс скали

Постојат две z-indexскали во Bootstrap-елементи во компонента и компоненти за преклопување.

Компонентни елементи

  • Некои компоненти во Bootstrap се изградени со елементи што се преклопуваат за да се спречат двојни граници без да се менува borderимотот. На пример, групи на копчиња, групи за внесување и страници.
  • Овие компоненти делат стандардна z-indexскала од 0преку 3.
  • 0е стандардно (почетна), 1е :hover, 2е :active/ .active, и , 3е :focus.
  • Овој пристап одговара на нашите очекувања од највисок приоритет на корисникот. Ако некој елемент е фокусиран, тој е на повидок и на вниманието на корисникот. Активните елементи се втори највисоки бидејќи ја означуваат состојбата. Лебдите е трето највисоко затоа што ја покажува намерата на корисникот, но речиси сè може да се лебди.

Преклопени компоненти

Bootstrap вклучува неколку компоненти кои функционираат како преклоп од некој вид. Ова ги вклучува, по редослед на највисоки z-index, паѓачки паѓачки мени, фиксни и лепливи ленти за навигација, модали, совети за алатки и поповери. Овие компоненти имаат своја z-indexскала која започнува на 1000. Овој почетен број е случаен и служи како мал тампон помеѓу нашите стилови и сопствените стилови на вашиот проект.

Секоја компонента за преклопување z-indexмалку ја зголемува својата вредност на таков начин што заедничките принципи на корисничкиот интерфејс дозволуваат елементите фокусирани или лебди врз корисникот да останат во вид секогаш. На пример, модалот е блокирање на документи (на пр., не можете да преземете никакво друго дејство освен за дејството на модалот), па го ставаме тоа над нашите ленти за навигација.

Дознајте повеќе за ова во нашата z-indexстраница за распоред .

HTML и CSS преку JS

Секогаш кога е можно, претпочитаме да пишуваме HTML и CSS преку JavaScript. Општо земено, HTML и CSS се поплодни и достапни за повеќе луѓе од сите различни нивоа на искуство. HTML и CSS се исто така побрзи во вашиот прелистувач од JavaScript, а вашиот прелистувач генерално обезбедува голема функционалност за вас.

Овој принцип е нашата прва класа JavaScript API е dataатрибути. Не треба да пишувате речиси каков било JavaScript за да ги користите нашите додатоци за JavaScript; наместо тоа, напишете HTML. Прочитајте повеќе за ова на нашата страница за преглед на JavaScript .

И на крај, нашите стилови се надоврзуваат на основните однесувања на заедничките веб-елементи. Секогаш кога е можно, претпочитаме да го користиме она што го обезбедува прелистувачот. На пример, можете да поставите .btnкласа на речиси секој елемент, но повеќето елементи не обезбедуваат никаква семантичка вредност или функционалност на прелистувачот. Така, наместо тоа, ние користиме <button>s и <a>s.

Истото важи и за посложените компоненти. Иако би можеле да напишеме сопствен додаток за валидација на формата за да додаваме класи на родителски елемент врз основа на состојбата на влезот, со што ќе ни овозможиме да го стилизираме текстот да речеме црвено, претпочитаме да ги користиме :valid/ :invalidпсевдоелементите што ни ги дава секој прелистувач.

Комунални услуги

Класите за комунални услуги - порано помошници во Bootstrap 3 - се моќен сојузник во борбата против надуеноста на CSS и слабите перформанси на страницата. Корисна класа е типично единечно, непроменливо спарување на имот-вредност изразено како класа (на пр., .d-blockпретставува display: block;). Нивната примарна привлечност е брзината на користење додека пишувате HTML и ограничувањето на количината на прилагодено CSS што треба да го напишете.

Конкретно во однос на приспособените CSS, услужните програми можат да помогнат во борбата против зголемувањето на големината на датотеката со намалување на вашите најчесто повторувани парови на имот-вредност во единечни класи. Ова може да има драматичен ефект во обем во вашите проекти.

Флексибилен HTML

Иако не е секогаш можно, ние се стремиме да избегнеме да бидеме премногу догматски во нашите HTML барања за компоненти. Така, ние се фокусираме на единечни часови во нашите CSS селектори и се обидуваме да ги избегнеме избирачите на непосредни деца ( >). Ова ви дава поголема флексибилност во вашата имплементација и помага нашиот CSS да биде поедноставен и помалку специфичен.