Уеб разработка с CSS. Блокиране в центъра на блока: колко бързо може да се реши проблемът?
CSS е езикът на каскадните стилови листове. Старата технология, която се появи в зората на WEB, се развива активно днес и ни позволява да разрешим много от задачите, за които използването на jаvascript е било необходимо по-рано, с родствени средства.
съдържание
Но в някои моменти все още чувстваме слабостта на CSS. Блокирайте в центъра на блока - тази тривиална задача все още остава реален проблем за всеки, който просто научава основите на уеб програмирането. С появата на Flexbox и Grid Layout тази задача стана много по-лесна, но те не се поддържат от всички браузъри, а IE 9 ще трябва да търси други решения. Така че, нека да разгледаме основните начини за подравняване на блокове в CSS.
Хоризонтално подравняване или Как да CSS поставете блока в центъра
Най-лесният начин да центрирате блока хоризонтално, веднага има няколко прости и елегантни решения. Първият начин е да се използва маргиналната собственост, която е отговорна за външното вдлъбване и позволява да се подреди блока в центъра. CSS го прави много елегантен. Важно е да не го бъркате с подложката, която ви позволява да зададете вътрешни отстъпи от двете страни на блока, да "бутате" съдържанието от границата и да създадете свободно пространство между тях.
Вторият начин е да използвате функцията text-align: center, ако блокът е посочен като поведение на линия или линейно блокиране (дисплей: inline или display: inline-block).
Автоматично уплътняване отдясно и отляво през маржа: 0 автоматично
Квадратната собственост позволява ефективно да се постави блок в центъра на основния блок в CSS, т.е. той е подходящ за случаите, при които всеки елемент получава свойството на дисплея: block. Достатъчно е просто да зададете маркера: 0 автоматичен параметър в CSS файла или да използвате атрибута за стила в HTML кода. Декриптира съдържанието на този параметър:
- 0 - не означава външни вдлъбнатини в горната и долната част на елемента;
- Auto казва на вашия браузър да изчисли тиретата самостоятелно и отляво, определяйки свободното пространство отстрани и разпределяйки го равномерно от двете страни на блока.
Ако всичко е направено правилно, при настройването на маржа: 0 авто-собственост в CSS, блокът в центъра на блока автоматично ще се появи. Можете да зададете разумен въпрос: "Защо не мога да задам марж: автоматично автоматично, подравняване на блока също вертикално?" За съжаление, тази опция не работи поради такава характеристика на блоковия модел, като вертикален срив на външни тирета.
Какво трябва да направя, ако блокът получи поведение на низ?
Както казахме по-горе, една от основните характеристики на CSS е, че всеки блок може да получи едно от няколкото поведения. По-горе разгледахме случая, когато даден елемент е блок не само на външен вид, но и на позиция "в потока" - връзката с другите елементи на страницата.
Сега ще разгледаме случая, когато обектът получи поредица (дисплей: inline) или поведение на линейно блокиране (дисплей: inline-block). И в първия и втория случай той ще възприеме свойствата, които управляват поведението на текста на страницата. И подравнете блока в центъра в CSS, текстът align: center parameter, който позволява да се реши проблемът без никакви усложнения, ще ни помогне. Ние просто го възлагаме на родителската единица и нашият елемент автоматично става точно в средата в хоризонталната равнина. Тя ще бъде засегната от други подобни свойства, например вертикално-подравняване: среден, проектиран да центрира вертикално текста.
Елегантен CSS: използвайте свойството за позиция: абсолютно
В CSS, подравняването на блока в центъра е възможно и при абсолютно позициониране. За елементи подравняване нестандартен начин най-често използваната позиция свойства: относителна, което позволява да го преместите във всяка посока, като се запази оригиналната пространството страница, както и чрез позицията: абсолютно, напълно "избяга" елемент от потока, и идеално подхожда за да се позиционира в CSS блок в центъра на блока във вертикалната равнина.
Да предположим, че нашият обект има височина 100px и ширина 200px, стандартен правоъгълник. За да се приведе в центъра, ние го помоли да се отдръпне от лявата и горната 50% (вляво: 50%, а на върха: 50%), а след - отрицателни външни маржове с тези страни, в половината от ширината и височината на блока (марж-наляво: -100px и нагоре: -50px). Нека обясним тази точка по-подробно.
Свойствата отляво и отдясно с стойност 50% "вземат" елемента в горния ляв ъгъл и го поставят в CSS блока в центъра на основния блок. Но това не е всичко. В момента в CSS подравняването на блока в центъра все още не може да се нарече точна, защото в центъра сега се намира само горният ъгъл на елемента. За да постигнем най-добрия резултат, трябва да преместим елемента обратно на половината от ширината и височината му, като използваме подходящите вертикални отстъпи или по-сложната трансформация на собствеността: превеждаме (-50%, -50%), което изпълнява същата функция. Сега тя е идеално разположена. В заключение, отбелязваме, че можете да решите проблема с помощта на технологията Flexbox, но е предназначен за напреднали потребители и не работи във всички браузъри.
- Блокиране на оформлението на div маркерите HTML
- Използване на свойството CSS `display: none`
- Подробности за това как да направите фонтан в "Майнкрафт"
- Подробности за това как да направите трошачка в "Minecraft"
- Центриране на центъра: CSS оформление
- Ние броим колко пакета цигари в блока
- Как да направите безкраен източник на лава в "Maynkraft"?
- jаvascript: Примери за приложения
- Прилагане на CSS към центъра: текст и таблица
- jаvascript: Примери за приложения
- jаvascript: превключване на случай - избор на опции
- Най-горе в страницата CSS: позициониране на съдържанието
- jаvascript: превключване на случай - избор на опции
- Използване на indexOf (jаvascript) при работа с масиви и низове
- Какъв език за програмиране трябва да избера за начинаещ, който да научи
- Как да активирате jаvascript в Google Chrome и други браузъри
- Обработка на знаци: подструкция на метода на jаvascript ()
- CSS непрозрачност: контрол на прозрачността
- Синтаксис jаvascript parseInt: примери за използване
- Примери за използване на дължината на jаvascript
- Значението и използването на jаvascript невалидни