CSS การจัดตำแหน่งด้านบน การจัดแนวเนื้อหาของเซลล์ การเสริมเซลล์ภายในและภายนอก

หน้าต่าง : อินเทอร์เน็ตเอ็กซ์พลอเรอร์ 3.0+, ไฟร์ฟอกซ์ 1.0+, กูเกิลโครม, Opera 3.51 - 6.xx และ 9.0+, Safari 3.1+, SeaMonkey 1.0+ [1]

ลินุกซ์: Firefox 1.0+, Chromium, Opera 5.0 - 6.xx และ 9.0+, SeaMonkey 1.0+ [2]

การจัดกึ่งกลางเนื้อหาของหน้าในพื้นที่ที่มองเห็นได้ของหน้าต่างเบราว์เซอร์โดยใช้ HTML - ไม่มี CSS คอนเทนเนอร์ที่จะวางเนื้อหาของหน้าเว็บนั้นจัดอยู่ในกึ่งกลาง - ความกว้างและความสูง: [เปิดหน้าตัวอย่าง]

และใน Netscape 2.02 - 4.80 และ Offbyone ด้วย ใน Netscape 2.02 - 4.80 มีการขยับเนื้อหาเพจไปที่มุมซ้ายบนของพื้นที่ดูของหน้าต่างเบราว์เซอร์ เนื่องจากวิธีที่โปรแกรมเหล่านี้จองพื้นที่สำหรับแถบเลื่อน

และใน Netscape 2.02 - 4.80 ด้วย ใน Netscape 2.02 - 4.80 มีการขยับเนื้อหาเพจไปที่มุมซ้ายบนของพื้นที่ดูของหน้าต่างเบราว์เซอร์ เนื่องจากวิธีที่โปรแกรมเหล่านี้จองพื้นที่สำหรับแถบเลื่อน

Aliosque subditos และธีม

วิธีเปลี่ยนชื่อไฟล์ใน mc/Midnight Commander: - เลือกไฟล์ --> Shift - F6 --> แก้ไข ชื่อที่มีอยู่ไฟล์เป็นใหม่ --> ป้อน เลือกไฟล์ แก้ไขชื่อไฟล์ วิธีเดิมในการเปลี่ยนชื่อไฟล์ - วิธีการที่มีอยู่ใน mc / Midnight Commander ก่อนที่ "Shift - F6" จะถูกใช้งาน - ยังคงทำงานต่อไป: - เลือกไฟล์ --> F6 --> ป้อนชื่อไฟล์ใหม่ --> Enter เลือกไฟล์ ป้อนชื่อไฟล์ และแทนที่จะใช้ "F6" คุณสามารถใช้ "Esc - 6": - เลือกไฟล์ --> Esc - 6 --> ป้อน ชื่อไฟล์ใหม่ --> Enter เลือกไฟล์ ป้อนชื่อไฟล์

ไม่มีคุณสมบัติ "float: Bottom" ใน CSS แต่สามารถทำได้ด้วยวิธีอื่นๆ หลายวิธี ตัวอย่าง: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua เริ่มต้นด้วยการใช้ขั้นต่ำ veniam, การออกกำลังกายแบบ nostrud, ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor ใน reprehenderit ใน voluptate velit esse cillum dolore eu fugiat nulla pariatur. ยกเว้น occaecat cupidatat ไม่ภูมิใจ, sunt ใน culpa qui officia deserunt mollit anim id est laborum. ลิงค์ 1 ลิงค์ 2 ลิงค์ 3 HTML / XHTML ด้านล่างแบบลอย รหัส:

Lorem ipsum dolor นั่งตรง, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. เริ่มต้นด้วยการใช้ขั้นต่ำ veniam, การออกกำลังกายแบบ nostrud, ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor ใน reprehenderit ใน voluptate velit esse cillum dolore eu fugiat nulla pariatur. ยกเว้น occaecat cupidatat ไม่ภูมิใจ, sunt ใน culpa qui officia deserunt mollit anim id est laborum.
ลอยล่าง
ซีเอสเอส รหัส: .box1 (ตำแหน่ง: ญาติ; ด้านบน: 0px; ซ้าย: 0px; ลอย: ซ้าย; ความสูง: อัตโนมัติ; ความกว้าง: 100%;) .content1 (ตำแหน่ง: ญาติ; ด้านบน: 0px; ซ้าย: 0px; ลอย: ซ้าย; ความสูง: อัตโนมัติ ความกว้าง: 100%;) .left1 (ตำแหน่ง: ญาติ; ด้านบน: 0px; ซ้าย: 0px; ลอย: ซ้าย; ความสูง: อัตโนมัติ; ความกว้าง: 64%;) .menu1 (ตำแหน่ง: ญาติ; ด้านบน: 0px; ซ้าย: 0px; float: ซ้าย; ความสูง: อัตโนมัติ; ความกว้าง: 36%;) .bottom1 (ตำแหน่ง: สัมบูรณ์; ด้านล่าง: 0px; ขวา: 0px;) /* CSS เพิ่มเติม, เพียงเพื่อให้ตัวอย่างบางส่วน */ (สี: #ddd; การจัดแนวข้อความ: center;).content1 (พื้นหลัง: #bbb;).left1 (ความสูงขั้นต่ำ: 100px; การขยาย: 2%; การจัดแนวข้อความ: จัดชิดขอบ; พื้นหลัง: #006; -moz - ขนาดกล่อง: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;) .menu1 (ช่องว่างภายใน: 2%; float: ขวา) ; พื้นหลัง: #060; -moz-box-sizing: border-box; -ms-box-sizing: border-box;) menu1 p (ตำแหน่ง: สัมพันธ์; ด้านบน: 0px; ซ้าย: 0px; ลอย: ซ้าย; ความสูง: อัตโนมัติ; ความกว้าง: 100%; ช่องว่างภายใน: 0px; ระยะขอบ: 0px;).menu1 a (สี: #ddd; ตกแต่งข้อความ: none;).menu1 a:hover (ตกแต่งข้อความ: ขีดเส้นใต้;).bottom1 (ขยาย: 2%; สี: #eee; พื้นหลัง: # 600;) เนื้อหาทั้งหมดของหน้าเว็บมีอยู่ในคอนเทนเนอร์ box1 ภายในจะมีคอนเทนเนอร์ div สองรายการ: 1. content1 โดยมีเนื้อหาจริงทางด้านซ้ายและเมนูทางด้านขวา 2. ด้านล่าง 1 หลังเนื้อหา 1

ผู้เข้าชมควรค้นหาข้อมูลที่ต้องการบนหน้าเว็บได้ง่าย สำหรับเรื่องนี้รวมทั้งการแสดงออกถึงการแสดงออกบางอย่างต่างๆ แท็ก HTML- บทความนี้จะกล่าวถึงความแตกต่างของการทำงานกับตาราง โดยเฉพาะการจัดแนวตาราง

รายละเอียดปลีกย่อยพื้นฐาน

ประการแรกควรสังเกตว่าการนำเสนอข้อมูลในรูปแบบกราฟิกนี้ช่วยให้คุณสามารถจัดโครงสร้างข้อมูลซึ่งอำนวยความสะดวกในการดูดซึมอย่างมาก เนื้อหาเกือบทุกประเภทสามารถอยู่ในเซลล์ตารางได้ ตั้งแต่ข้อความไปจนถึงวิดีโอ สิ่งสำคัญคือต้องคำนึงถึงไม่เพียงแต่ขนาดเท่านั้น แต่ยังรวมถึงตำแหน่งของมันด้วย

วิธีจัดโต๊ะให้อยู่ตรงกลางนั่นเอง

บ่อยครั้งที่คุณต้องจัดเรียงตารางไว้ตรงกลางหน้าแม้ว่าในตอนแรกจะกดไปทางด้านซ้ายของหน้าก็ตาม หากต้องการจัดแนวให้อยู่ตรงกลาง คุณต้องตั้งค่าคุณสมบัติระยะขอบเป็นอัตโนมัติ

...

ซึ่งทำให้การเยื้องตารางถูกคำนวณโดยอัตโนมัติ หลังจากนี้ตารางจะอยู่ตรงกลางหน้า

การจัดตำแหน่งกึ่งกลางในเซลล์

บ่อยครั้งคุณจะต้องจัดแนวข้อมูลให้อยู่ตรงกลางเซลล์ มีสามวิธีในการทำเช่นนี้: แนวนอน แนวตั้ง และสัมบูรณ์ จากชื่อของพวกเขาชัดเจนว่าศูนย์กลางจะเกิดขึ้นตามแกนใด ในกรณีใด ๆ จะใช้แท็ก รับผิดชอบเซลล์เฉพาะในแถว ถัดไป คุณต้องกำหนดค่าแอตทริบิวต์ valign (แนวตั้ง) และ/หรือจัดตำแหน่ง (แนวนอน) เป็น "กึ่งกลาง" ขึ้นอยู่กับงานของคุณ:

ข้อความอยู่กึ่งกลางในเซลล์

หากคุณต้องการสร้างมาตรฐานการจัดรูปแบบสำหรับทั้งไซต์หรือทั้งหน้า (เพื่อไม่ให้เขียนแต่ละตารางใหม่) คุณควรใช้สไตล์ CSS เมื่อต้องการทำเช่นนี้ ให้เพิ่มโค้ดต่อไปนี้ภายในแท็ก :

เมื่อใช้วิธีการนี้ คุณยังสามารถตั้งค่าการจัดแนวสำหรับเซลล์เฉพาะ คอลัมน์ แถว หรือทั้งตารางโดยรวมได้ อย่างที่คุณเห็นวิธีการใด ๆ นั้นง่ายมาก

คุณสมบัติการจัดแนวแนวตั้งของ CSS มีหน้าที่รับผิดชอบในการจัดแนวแนวตั้งของข้อความและรูปภาพบนเพจ คุณลักษณะที่สำคัญคือใช้งานได้เฉพาะกับองค์ประกอบตาราง องค์ประกอบแบบอินไลน์และอินไลน์บล็อกเท่านั้น รองรับเบราว์เซอร์สมัยใหม่ทั้งหมด

ไวยากรณ์ซีเอสเอสแนวตั้งจัด

... แนวตั้งจัด : ค่า ; -
  • เส้นฐาน - การจัดตำแหน่งให้ตรงกับเส้นฐานของบรรพบุรุษ (หรือเพียงแค่ขอบเขตล่างของเส้นแม่)
  • ด้านล่าง - จัดชิดที่ด้านล่างของบรรทัด (หรือองค์ประกอบที่อยู่ด้านล่างทั้งหมด)
  • กลาง - จัดจุดกึ่งกลางขององค์ประกอบให้ตรงกับเส้นฐานของผู้ปกครองบวกด้วยความสูงครึ่งหนึ่ง องค์ประกอบหลัก
  • ย่อย - การแสดงผลเกิดขึ้นใต้บรรทัด (ดูเหมือนตัวห้อย)
  • super - การแสดงผลเกิดขึ้นเหนือเส้น (เป็นตัวยก)
  • text-bottom - จัดขอบด้านล่างขององค์ประกอบให้ตรงกับขอบด้านล่างของบรรทัด
  • text-top - จัดขอบด้านบนขององค์ประกอบให้ชิดขอบด้านบนของบรรทัด
  • top - จัดขอบด้านบนขององค์ประกอบให้อยู่ด้านบนขององค์ประกอบที่สูงที่สุดในบรรทัด
  • inherit - สืบทอดค่าของพาเรนต์
  • ค่า - ระบุเป็นพิกเซล จำนวนบวกเลื่อนขึ้นเมื่อเทียบกับเส้นฐาน ติดลบ
  • ดอกเบี้ย - ระบุเป็นเปอร์เซ็นต์ จำนวนบวกจะเลื่อนขึ้นเมื่อเทียบกับเส้นพื้นฐาน ติดลบ

ค่าการจัดแนวแนวตั้งเริ่มต้น:

  • พื้นฐาน (สำหรับองค์ประกอบอินไลน์)
  • กลาง (สำหรับเซลล์ตาราง)

การจัดตำแหน่งแนวตั้งในตาราง

การใช้การจัดแนวแนวตั้งที่พบบ่อยที่สุดคือในเซลล์ตาราง ในแท็ก

ใช้แอตทริบิวต์ valign

ไวยากรณ์ CSS valign สำหรับตาราง

โดยที่ค่าสามารถรับค่าต่อไปนี้:

  • พื้นฐาน - การจัดแนวไปยังพื้นฐานแรก สตริงข้อความ
  • ด้านล่าง - จัดชิดขอบด้านล่างของเซลล์ตาราง
  • ตรงกลาง - การจัดตำแหน่งให้อยู่ตรงกลางของเซลล์
  • ด้านบน - จัดชิดขอบด้านบนของเซลล์

ตัวอย่างเช่น:

หรือ
จัดตำแหน่งไปด้านบน
การจัดตำแหน่งกึ่งกลาง
การจัดตำแหน่งด้านล่าง
จัดตำแหน่งไปด้านบน
การจัดตำแหน่งกึ่งกลาง
การจัดตำแหน่งด้านล่าง

ตัวอย่างการจัดตำแหน่งตามแนวตั้ง

ตัวอย่างที่ 1 ค่าการจัดแนวตั้ง: เส้นพื้นฐาน ด้านล่าง บน ย่อย


Текст с выравниванием vert_align_baseline
Текст с выравниванием vert_align_bottom
Текст с выравниванием vert_align_top
Текст с выравниванием vert_align_sub

Пример 2. Значения vertical-align: абсолютные значения и проценты

Ниже представлены примеры вертикального выравнивания с абсолютным значением и процентами.





Преобразуется на странице в следующее:

Исходная строка. Текст с выравниванием на 10 пикселей вверх
Исходная строка. Текст с выравниванием на 5 пикселей вниз
Исходная строка. Текст с выравниванием на 50% вверх
Исходная строка. Текст с выравниванием на 30% вниз

Примечание

Значение vertical-align: middle не выравнивает строчный элемент по центру самого большого элемента в строке (что можно было бы ожидать). Вместо этого значение middle выравнивает элемент относительно гипотетичной строчной буквы "X" (также называемой x-высотой).

Для обращения к vertical-align из JavaScript нужно писать следующую конструкцию:

object.style.verticalAlign ="VALUE "

3.7. Выравнивание таблицы и содержимого ячеек

Для выравнивания элементов таблиц по горизонтали и вертикали в элементах TABLE, TR, TH и TD используют атрибуты align и valign.

Атрибут align применяется ко всем элементам таблицы и определяет общее горизонтальное выравнивание:

– таблицы на странице по левому краю/правому краю/по центру;

– элементов строки по левому краю/правому краю/по центру;

– заголовка таблицы по левому краю/правому краю/по центру (по умолчанию по центру);

– данных в ячейке по левому краю/ правому краю/по центру/по заданному символу (по умолчанию по левому краю).

Атрибут valign также применяется ко всем элементам таблицы и определяет общее вертикальное выравнивание:

– элементов таблицы внизу/по центру/вверху (по умолчанию по центру);

– элементов строки внизу/по центру/ вверху;

– заголовка таблицы внизу/по центру/ вверху;

– данных в ячейке внизу/по центру/ вверху.

В листинге 3.6 приведен пример использования в различных комбинациях описанных выше атрибутов форматирования таблицы и содержимого ячеек (рис. 3.11).

Листинг 3.6.

Простая HTML-таблица

Рис. 3.11. Пример использования выравнивания таблицы и содержимого ячеек

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Изменение ячеек таблицы Чтобы изменить ячейку таблицы, вы должны щелкнуть на ней кнопкой мыши. Отобразятся маркеры управления (рис. 4.45). Рис. 4.45. Выделенная ячейка таблицыПеремещая указатель при нажатой кнопке мыши, вы можете выделить группу ячеек. Можно также выделить

Из книги Photoshop. Мультимедийный курс автора Мединов Олег

Выравнивание и распределение Когда активен инструмент Перемещение, на панели под строкой меню появляется набор кнопок для выравнивания и распределения изображений и объектов (рис. 9.1). Рис. 9.1. Кнопки выравниванияПиктограммы на кнопках подсказывают, как будут

Из книги Excel. Мультимедийный курс автора Мединов Олег

Выравнивание При вводе значений в ячейки обратите внимание, что различные форматы данных по-разному выравниваются в ячейках. Например, числовые значения и даты выравниваются относительно правой границы ячейки, а текст – относительно левой. Если ранее вы работали с

Из книги Pinnacle Studio 11 автора Чиртик Александр Анатольевич

Вкладка Выравнивание диалогового окна Формат ячеек Несколько больше вариантов выравнивания можно задать в диалоговом окне Формат ячеек. Для этого необходимо перейти на вкладку Выравнивание (рис. 3.8). Рассмотрим параметры, недоступные на ленте. Рис. 3.8. Вкладка

Из книги Word 2007.Популярный самоучитель автора Краинский И

Выравнивание К нескольким выделенным, но не сгруппированным объектам можно также применять операцию автоматического выравнивания (имеется в виду пространственное положение объектов в кадре). Для его применения следует нажать кнопку на нижней панели инструментов или

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Выравнивание Выравнивание текста на странице – одна из важнейших операций форматирования. При помощи выравнивания можно, например, поместить заголовок текста посередине страницы, а подпись в конце письма – по правому краю. Многие начинающие пользователи для подобных

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

13.6.4. Выравнивание текста Кнопки По левому краю, По центру, По правому краю и По ширине (рис. 141) позволяют менять расположение текста на странице. Для выравнивания текста нужно его выделить и нажать одну из кнопок выравнивания или соответствующую ей комбинацию клавиш:Ctrl+L

Из книги Реферат, курсовая, диплом на компьютере автора Баловсяк Надежда Васильевна

Изменение ячеек таблицы Чтобы изменить ячейку таблицы, вы должны щелкнуть на ней кнопкой мыши. При этом отобразятся маркеры управления (рис. 4.46). Рис. 4.46. Выделенная ячейка таблицыПеремещая указатель при нажатой кнопке мыши, вы можете выделить группу ячеек. Можно также

Из книги XSLT автора Хольцнер Стивен

Изменение ширины элементов таблицы, выравнивание По умолчанию содержимое ячеек таблицы увеличивается по высоте для вводимого в ячейку текста – если вы введете текст, который не поместился в одну строку, автоматически в ячейку будет добавлена еще одна строка. Однако,

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

Создание ячеек таблицы: Снова, почти как при создании таблицы в HTML, вы помещаете данные в отдельные ячейки таблицы при помощи элемента . Заметьте: чтобы задать шрифт и другие характеристики этого содержимого, внутри каждого элемента

Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна Юрьевна

Выравнивание данных Еще один вопрос, касающийся оборудования, о котором следует помнить, связан с выравниванием данных. Современные процессоры устроены таким образом, что они считывают данные отдельными кусками по 32 бита. Кроме того, эти куски всегда выравниваются по

Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь

Выравнивание объектов Команда ALIGN осуществляет выравнивание объектов относительно других объектов в двумерном и трехмерном пространстве. Вызывается команда из падающего меню Modify3D Operations ? Align.Запросы команды ALIGN:Select objects: – выбрать объектыSelect objects: – нажать клавишу Enter

Из книги Разработка ядра Linux автора Лав Роберт

3.5. Ширина и высота таблицы и ячеек Ширина таблицы задается атрибутом width элемента TABLE. Значение можно задавать как в абсолютных единицах (width="2 5 0"), так и в относительных (width="80 %"). Например, задав значение ширины в 600 пикселов, можно быть уверенным, что таблица поместится в

Из книги автора

3.8. Объединение ячеек таблицы На практике встречается большое количество таблиц, в которых одна ячейка объединяет в себе несколько ячеек по высоте и ширине (см. рис. 3.2). В HTML ячейки объединяют с помощью атрибутов colspan и rowspan. Атрибут colspan определяет количество ячеек, на

Из книги автора

Выравнивание данных Выравнивание (alignment) соответствует размещению порции данных в памяти. Говорят, что переменная имеет естественное выравнивание (naturally aligned), если она находится в памяти по адресу, значение которого кратно размеру этой переменной. Например, переменная

  • CSS ,
  • HTML
  • Я думаю, многие из вас, кому приходилось заниматься версткой, сталкивались с необходимостью выравнивать элементы по вертикали и знают, какие сложности возникают при выравнивании элемента по центру.

    Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений . Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.


    Сравним следующие подходы. Выравнивание с помощью:

    • таблицы,
    • отступов,
    • line-height ,
    • растягивания,
    • отрицательного margin ,
    • transform ,
    • псевдоэлемента,
    • flexbox .
    В качестве иллюстрации рассмотрим следующий пример.

    Есть два элемента div , при этом один из них вложен в другой. Дадим им соответствующие классы − outer и inner .


    Задача состоит в том, чтобы выровнять внутренний элемент по центру внешнего элемента.

    Для начала рассмотрим случай, когда размеры внешнего и внутреннего блока известны . Добавим внутреннему элементу правило display: inline-block , а внешнему − text-align: center и vertical-align: middle .

    Нпомню, что выравнивание применяется только к элементам, которые имеют режим отображения inline или inline-block .

    Зададим блокам размеры, а также фоновые цвета, чтобы видеть их границы.

    Outer { width: 200px; height: 200px; text-align: center; vertical-align: middle; background-color: #ffc; } .inner { display: inline-block; width: 100px; height: 100px; background-color: #fcc; }
    После применения стилей мы увидим, что внутренний блок выровнялся по горизонтали, а по вертикали нет:
    http://jsfiddle.net/c1bgfffq/

    Почему так произошло? Дело в том, что свойство vertical-align влияет на выравнивание самого элемента, а не его содержимого (кроме случаев, когда оно применяется к ячейкам таблицы). Поэтому применение данного свойства к внешнему элементу ничего не дало. Более того, применение этого свойства к внутреннему элементу также ничего не даст, поскольку строчные блоки (inline-block) выравниваются по вертикали относительно соседних блоков, а в нашем случае у нас один строчный блок.

    Для решения данной проблемы существует несколько техник. Ниже подробнее рассмотрим каждую из них.

    Выравнивание с помощью таблицы

    Первое приходящее на ум решение − заменить внешний блок таблицей из одной ячейки. В этом случае выравнивание будет применяться к содержимому ячейки, то есть к внутреннему блоку.

    Наименование товара
    Товар КодКоличествоЦена
    Клей028190 шт 12,2 руб
    Скотч058120 шт 4,6 руб
    Ластик986100 шт 2,3 руб

    http://jsfiddle.net/c1bgfffq/1/

    Очевидный минус данного решения – с точки зрения семантики неправильно применять таблицы для выравнивания. Второй минус в том, что для создания таблицы требуется добавить еще один элемент вокруг внешнего блока.

    Первый минус можно частично убрать, заменив теги table и td на div и задав табличный режим отображения в CSS.


    .outer-wrapper { display: table; } .outer { display: table-cell; }
    Тем не менее внешний блок все равно останется таблицей со всеми вытекающими из этого последствиями.

    Выравнивание с помощью отступов

    Если высоты внутреннего и внешнего блока известны, то выравнивание можно задать с помощью вертикальных отступов у внутреннего блока, используя формулу: (H outer – H inner) / 2.

    Outer { height: 200px; } .inner { height: 100px; margin: 50px 0; }
    http://jsfiddle.net/c1bgfffq/6/

    Минус решения - оно применимо лишь в ограниченном числе случаев, когда известны высоты обоих блоков.

    Выравнивание с помощью line-height

    Если известно, что внутренний блок должен занимать не более одной строки текста, то можно воспользоваться свойством line-height и задать его равным высоте внешнего блока. Поскольку контент внутреннего блока не должен переноситься на вторую строку, рекомендуется также добавить правила white-space: nowrap и overflow: hidden .

    Outer { height: 200px; line-height: 200px; } .inner { white-space: nowrap; overflow: hidden; }
    http://jsfiddle.net/c1bgfffq/12/

    Также данную технику можно применять и для выравнивания многострочного текста, если для внутреннего блока переопределить значение line-height , а также добавить правила display: inline-block и vertical-align: middle .

    Outer { height: 200px; line-height: 200px; } .inner { line-height: normal; display: inline-block; vertical-align: middle; }
    http://jsfiddle.net/c1bgfffq/15/

    Минус данного способа заключается в том, что должна быть известна высота внешнего блока.

    Выравнивание с помощью "растягивания"

    Данный способ можно применять, когда высота внешнего блока неизвестна, но известна высота внутреннего.

    Для этого нужно:

    1. задать внешнему блоку относительное позиционирование, а внутреннему − абсолютное;
    2. добавить внутреннему блоку правила top: 0 и bottom: 0 , в результате чего он растянется на всю высоту внешнего блока;
    3. установить значение auto для вертикальных отступов внутреннего блока.
    .outer { position: relative; } .inner { height: 100px; position: absolute; top: 0; bottom: 0; margin: auto 0; }
    http://jsfiddle.net/c1bgfffq/4/

    Суть этой техники заключается в том, что задание высоты для растянутого и абсолютно спозиционированного блока заставляет браузер вычислять вертикальные отступы в равном соотношении, если их значение установлено в auto .

    Выравнивание с помощью отрицательного margin-top

    Этот способ получил широкую известность и применяется очень часто. Как и предыдущий, он применяется, когда высота внешнего блока неизвестна, но известна высота внутреннего.

    Нужно задать внешнему блоку относительное позиционирование, а внутреннему − абсолютное. Затем необходимо сдвинуть внутренний блок вниз на половину высоты внешнего блока top: 50% и поднять вверх на половину собственной высоты margin-top: -H inner / 2.

    Outer { position: relative; } .inner { height: 100px; position: absolute; top: 50%; margin-top: -50px; }
    http://jsfiddle.net/c1bgfffq/13/

    Минус данного способа - должна быть известна высота внутреннего блока.

    Выравнивание с помощью transform

    Данный способ похож на предыдущий, но он может быть применен, когда высота внутреннего блока неизвестна. В этом случае вместо задания отрицательного отступа в пикселях можно воспользоваться свойством transform и поднять внутренний блок вверх с помощью функции translateY и значения -50% .

    Outer { position: relative; } .inner { position: absolute; top: 50%; transform: translateY(-50%); }
    http://jsfiddle.net/c1bgfffq/9/

    Почему в предыдущем способе нельзя было задать значение в процентах? Так как процентные значения свойства margin вычисляются относительно родительского элемента, значение в 50% равнялось бы половине высоты внешнего блока, а нам нужно было поднять внутренний блок на половину его собственной высоты. Для этого как раз подходит свойство transform .

    Минус данного способа - он не может быть применен, если внутренний блок имеет абсолютное позиционирование.

    Выравнивание с помощью Flexbox

    Самый современный способ вертикального выравнивания это использовать Flexible Box Layout (в народе известен как Flexbox). Данный модуль позволяет гибко управлять позиционированием элементов на странице, располагая их практически как угодно. Выравнивание по центру для Flexbox − очень простая задача.

    Внешнему блоку необходимо задать display: flex , а внутреннему − margin: auto . И это все! Красиво, правда?

    Outer { display: flex; width: 200px; height: 200px; } .inner { width: 100px; margin: auto; }
    http://jsfiddle.net/c1bgfffq/14/

    Минус данного способа − Flexbox поддерживается только современными браузерами.

    Какой способ выбрать?

    Нужно исходить из постановки задачи:
    • Для вертикального выравнивания текста лучше использовать вертикальные отступы или свойство line-height .
    • Для абсолютно позиционированных элементов с известной высотой (например, иконок) идеально подойдет способ с отрицательным свойством margin-top .
    • Для более сложных случаев, когда неизвестна высота блока, нужно использовать псевдоэлемент или свойство transform .
    • Ну а если вам повезло настолько, что не нужно поддерживать старые версии браузера IE, то, конечно, лучше использовать Flexbox .