следующийПредыдущая HTML-статьяПосле этого я увидел сообщение от моего друга, в котором говорилось, что я с нетерпением жду статей по CSS и JS, которые будут разобраны позже. В качестве координации знаний CSS эта статья включает в себя большую часть общего содержания интервью, в том числе некоторые точки знаний, которые легко наступить на гром. Статья длинная, и собирать ее рекомендуется не спеша и внимательно.
В тексте тоже много концептуального содержания.Редактор как всегда сделал разделительную черту.Прошу не обращать внимания на детскую обувь с хорошей памятью.
1. 🤨В чем разница между стандартной блочной моделью CSS и блочной моделью более низкой версии IE?
Стандартная (W3C) блочная модель:width
= ширина контента(content) + border + padding + margin
Коробочная модель IE с низкой версией:width
= ширина контента(content + border + padding)+ margin
отображение изображения:
Отличие: стандартная коробочная модельheight
иwidth
даcontent
(содержимое) ширина и высота, в то время как ширина и высота блока модели блока IE включаетcontent+padding+border
часть.
2. Несколько методов устранения ошибок существующих в IE6
- Зависит от
float
вызвано проблемой двойного интервала, используйтеdisplay
решать; - Зависит от
float
Проблема с 3 пикселями, вызванная использованиемdisplay: inline -3px
; - Используйте правильный порядок написания
link visited hover active
, разрешить гиперссылкиhover
Проблема с отказом клика; - за
IE
изz-index
проблема, добавив к родительскому элементуposition: relative
решать; - использовать
!important
решатьMin-height
Проблема минимальной высоты; - использовать
iframe
решатьselect
существуетIE6
Вопросы покрытия под; - использовать
over: hidden
,zoom: 0.08
,line-height: 1px
Решить проблему определения ширины контейнера около 1px;
🍀Уведомление:СвязанныйIE6
не поддерживается!important
Проблема в том, что для одного класса поддерживается. Например:
.content { color: pink !importent };
.content { color: orange };
// 这里IE6及以上,FF,google等都将显示粉红色
Однако, когда внутри стиля есть несколько одинаковых свойств. Например:
.content { color: pink !importent; color: orange };
// IE7及以上,FF, google显示粉红色,而IE6将显示橙色(原因是一个样式内重复设置了属性,后面的就会覆盖掉之前的)
3. Что такое селекторы CSS? Какие свойства могут передаваться по наследству?
Общие селекторы:
id
Селектор(#content
), селектор класса (.content
), селектор тегов (div
, p
, span
и т. д.), соседние селекторы (h1+p
), дочерние селекторы (ul>li
), селектор потомков (li a
), селекторы подстановочных знаков (*
), селекторы атрибутов (a[rel = "external"]
), селектор псевдокласса (a:hover
, li:nth-child
)
Наследуемые свойства стиля:font-size
, font-family
, color
, ul
, li
, dl
, dd
, dt
;
Ненаследуемые свойства стиля:border
, padding
, margin
, width
, height
;
4. Как рассчитывается алгоритм приоритета CSS?
- Принимая во внимание принцип близости, в случае одинакового веса определение стиля основывается на ближайшем
- Загруженный стиль основан на последнем позиционировании
Приоритет:
В случае одинакового веса: встроенная таблица стилей (внутри тега) > встроенная таблица стилей (в текущем файле) > внешняя таблица стилей (во внешнем файле)
!important > # > . > tag
🍀Уведомление:!important
более высокий приоритет, чем встроенный
5. Какие новые псевдоклассы появились в CSS3?
-
:root
Выбирает корневой элемент документа, эквивалентныйhtml
элемент -
:empty
Выбирает элементы без дочерних элементов -
:target
Выберите текущий активный целевой элемент -
:not(selector)
выбрать кромеselector
элемент неожиданный элемент -
:enabled
Выберите доступные элементы формы -
:disabled
Выбрать отключенные элементы формы -
:checked
Выберите выбранный элемент формы -
:nth-child(n)
Соответствует указанному дочернему элементу под родительским элементом и сортирует первый среди всех дочерних элементовn
-
nth-last-child(n)
Соответствует указанному дочернему элементу под родительским элементом и сортирует первый среди всех дочерних элементовn
, считая сзади наперед -
:nth-child(odd)
-
:nth-child(even)
-
:nth-child(3n+1)
-
:first-child
-
:last-child
-
:only-child
-
:nth-of-type(n)
Сопоставьте указанный дочерний элемент с родительским элементом и отсортируйте первый элемент в том же дочернем элементе.n
-
:nth-last-of-type(n)
Сопоставьте указанный дочерний элемент с родительским элементом и отсортируйте первый элемент в том же дочернем элементе.n
, считая сзади наперед -
:nth-of-type(odd)
-
:nth-of-type(even)
-
:nth-of-type(3n+1)
-
:first-of-type
-
:last-of-type
-
:only-of-type
-
::selection
Выбрать часть элемента, выбранного пользователем (псевдоэлемент) -
:first-line
Выберите первую строку в элементе (псевдоэлементе) -
:first-letter
Выберите первый символ в элементе (псевдоэлемент) -
:after
добавить содержимое после элемента (псевдоэлемент) -
:before
добавить содержимое перед элементом (псевдоэлемент)
6. Как центрировать div? Как центрировать плавающий элемент? Как центрировать абсолютно позиционированный div?
горизонтально по центру
// 方式1: 使用margin: 0 auto居中
css:
* {margin: 0; padding: 0;}
.content {
margin: 0 auto;
width: 100px;
height: 100px;
background: pink;
}
// 方式2: 使用 定位 + left 居中
css:
* {margin: 0; padding: 0;}
.content {
width: 100px;
height: 100px;
background: pink;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
html:
<div class="content"></div>
Центрировать по вертикали
1.已知父元素高度情况下
方法1:
css:
* {margin: 0; padding: 0;}
.content {
width: 600px;
height: 600px;
border: 1px solid #ccc;
}
.content-one {
width: 100px;
height: 100px;
background: pink;
position: relative; // 父元素无定位,子元素直接用相对定位
top: 50%;
transform: translateY(-50%);
}
html:
<div class="content">
<div class="content-one"></div>
</div>
方法2:
css:
* {margin: 0; padding: 0;}
.content {
width: 600px;
height: 600px;
border: 1px solid #ccc;
position: relative; // 给父元素定位,子绝父相
}
.content-one {
width: 100px;
height: 100px;
background: pink;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
html:
<div class="content">
<div class="content-one"></div>
</div>
Как центрировать абсолютно позиционированный div
css:
* {margin: 0; padding: 0;}
.content {
margin: 0 auto;
position: absolute;
width: 1500px;
background: pink;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
html:
<div class="content"></div>
7. Какие значения отображения? Какова их роль?
ценность | эффект |
---|---|
none | Элемент не будет отображаться после использования |
grid | Определите свойство контейнера для макета сетки |
flex | определить гибкий макет |
block | После использования элемент будет отображаться как блочный элемент с разрывами строк до и после элемента. |
inline | отображать значение по умолчанию. После использования основной цвет становится встроенным отображением элемента, и до и после нет разрыва строки. |
list-item | Используйте элемент сообщения для отображения в виде списка |
run-in | После использования элемент отображается как элемент уровня блока или встроенный элемент в зависимости от контекста. |
table | При использовании он будет отображаться в виде таблицы на уровне блоков (что-то вроде<table> ) с новыми строками до и после |
inline-table | После использования элемент будет отображаться в виде встроенной таблицы (что-то вроде<table> ) без новой строки до или после |
table-row-group | Элементы будут отображаться как группа из одной или нескольких строк (что-то вроде<tbody> ) |
table-hewder-group | Элементы будут представлены в виде групп из одной или нескольких строк (что-то вроде<thead> ) |
table-footer-group | Элементы будут отображаться сгруппированными в одну или несколько строк (что-то вроде<tfoot> ) |
table-row | Элемент будет отображаться в виде строки таблицы (что-то вроде<tr> ) |
table-column-group | Элементы будут отображаться как группа из одного или нескольких столбцов (что-то вроде<colgroup> ) |
table-column | элементы будут отображаться в виде столбца ячеек (что-то вроде<col> ) |
table-cell | Элемент будет отображаться как ячейка таблицы (что-то вроде<td>和<th> ) |
table-caption | элемент будет отображаться как заголовок таблицы (что-то вроде<caption> ) |
inherit | Указывает, что значение свойства отображения должно быть интегрировано из родительского элемента. |
Среди них широко используются:block
,inline-block
,none
,table
,line
.
8. Значение относительного и абсолютного положения определяет исходную точку?
Во-первых, используйтеposition
Когда , вы должны иметь в виду, что правилоСын Отца’.
relative
(относительное позиционирование): создать элемент с относительным позиционированием, а источником позиционирования является положение самого элемента;
absolute
(абсолютное позиционирование): создайте абсолютно позиционированный элемент, а источником позиционирования является уровень, ближайший к его собственному элементу уровня.position
Установить какabsolute
илиrelative
Верхний левый угол родительского элемента является источником.
fixed
(Не поддерживается старым IE): генерировать абсолютно позиционированные элементы, расположенные относительно окна браузера.
static
: По умолчанию. Без позиционирования элемент появляется в обычном потоке (игнорируяtop
, bottom
, left
, right
,z-index
утверждение).
inherit
: указывает наследование от родительского элементаposition
Стоимость имущества.
обновить свойство
sticky
: (новые элементы, совместимость в настоящее время может быть не очень хорошей), вы можете установить position:sticky и указать одно из (верхнее, нижнее, правое, левое) одновременно.
Уведомление:
- использовать
sticky
, одно из верхних, нижних, левых и правых значений должно быть указано, иначе это будет только в относительном позиционировании; -
sticky
Эффект только внутри его родительского элемента, и высота родительского элемента гарантированно будет выше, чемsticky
высота; - Родительский элемент не может
overflow:hidden
илиoverflow:auto
и другие свойства.
9. Каковы новые возможности CSS3?
оCSS
Новые функции заключаются в следующем:
- Селектор;
- закругленные углы
(border-raduis)
; - Многоколоночный макет
(multi-column layout)
; - тень
(shadow)
и отражение(reflect)
; - текстовые эффекты
(text-shadow)
; - рендеринг текста
(text-decoration
); - Линейный градиент
(gradient)
; - вращать
(rotate
)/увеличение(scale)
/наклон(skew)
/переехать(translate)
; - запросы средств массовой информации
(@media)
; -
RGBA
и прозрачность; -
@font-face
Атрибуты; - несколько фоновых изображений;
- размер коробки;
- голос;
Я столько всего могу придумать, если есть какие-то упущения, вы можете оставить сообщение и указать на это, и редактор добавит, когда я это увижу.
10. Каков принцип создания треугольника с помощью чистого CSS?
Способ 1: скройте верхний, левый и правый края и установите цвет (прозрачный)
css:
* {margin: 0; padding: 0;}
.content {
width: 0;
height: 0;
margin: 0 auto;
border-width: 20px;
border-style: solid;
border-color: transparent transparent pink transparent; // 对应上右下左,此处为 下 粉色
}
html:
<div class="content"></div>
Метод 2: Использование принципа равного деления
Шаги реализации: 1. Во-первых, убедитесь, что элемент является элементом блочного уровня, 2. Установите границу элемента, 3. Используйте прозрачный цвет для границы, которую не нужно отображать.
css:
* {margin: 0; padding: 0;}
.content {
width:0;
height:0;
margin:0 auto;
border:50px solid transparent;
border-top: 50px solid pink;
}
html:
<div class="content"></div>
11. 🤨Что такое адаптивный дизайн? Каковы основные принципы адаптивного дизайна? Как быть совместимым с более низкими версиями IE?
Адаптивный дизайн сайта(Responsive Web design
) заключается в том, что веб-сайт может быть совместим с несколькими терминалами, а не создавать отдельную версию для каждого терминала.
О принципе: Основной принцип через медиа-запросы(@media)
Запрос для определения различных размеров экрана устройства для обработки.
О совместимости: В шапке страницы должно быть указано mate.viewport
.
<meta name="’viewport’" content="”width=device-width," initial-scale="1." maximum-scale="1,user-scalable=no”"/>
12. Зачем инициализировать стили CSS?
Из-за проблем совместимости браузеров разные браузеры имеют разные значения по умолчанию для тегов.CSS
Инициализация вызовет различия в отображении одной и той же страницы в разных браузерах.
13. Плавающий принцип и почему он возникает и когда его нужно очищать? Как очистить поплавок?
В браузерах, отличных от IE, если высота контейнера не задана, а дочерние элементы являются плавающими, высота контейнера не может быть растянута содержимым. В этот момент содержимое выльется из контейнера и повлияет на макет. Это явление называется плавающим (переполнением).
принцип:
- Плавающие элементы вырываются из потока документов и не занимают места (вызывая явление «схлопывания высоты»);
- Плавающий элемент останавливается, когда он касается содержащей его границы или границы другого плавающего элемента.
Плавающий элемент останавливается, когда он касается границы, содержащей его, или границы плавающего элемента. Поскольку плавающий элемент отсутствует в потоке документов, поле уровня блока в потоке документов будет вести себя так, как будто плавающее поле не существует. Плавающие элементы перемещаются над блоками уровня блока в потоке документа.
Проблемы с поплавками:
- Высота родительского элемента не может быть растянута, что повлияет на элементы на том же уровне, что и родительский элемент.
- Неплавающие элементы (встроенные элементы) на том же уровне, что и плавающий элемент, следуют
- Если плавающий элемент не является первым элементом, элемент перед элементом также должен быть плавающим, иначе это повлияет на структуру отображения страницы.
Ясный способ:
- Родительский блок определяет высоту
(height)
; - Добавьте один после последнего плавающего элемента
div
пустой ярлык и добавить стильclear: both
; - Добавьте стили к родительским тегам, содержащим плавающие элементы.
overflow
заhidden/both
; - Отец
div
определениеzoom
;
14. Как можно оптимизировать CSS и повысить производительность?
- несколько
css
можно комбинировать и минимизироватьhttp
просить - Когда значение атрибута равно 0, единица измерения не добавляется.
- будет
css
файл вверху страницы - Избегайте селекторов потомков, чрезмерно ограниченных и цепных селекторов
- Используйте компактный синтаксис
- избегать ненужного повторения
- Используйте семантическое наименование для простоты обслуживания
- использовать как можно меньше
!impotrant
, вы можете выбрать другие селекторы - Оптимизируйте правила и максимально комбинируйте повторяющиеся правила разных классов
- Соблюдайте правила блочной модели
15. Что такое препроцессор/постпроцессор CSS? Зачем их использовать?
препроцессор вроде:less
,sass
,stylus
, используется для предварительной компиляцииsass
илиless
,выросcss
Возможность повторного использования кода и иерархия,mixin
, переменные, циклы, функции и т. д. чрезвычайно удобны для написания и разработки UI-компонентов.
Постпроцессоры, такие как:postCss
, обычно считается включенным в готовую таблицу стилей в соответствии сcss
каноническая обработкаcss
, делая его более эффективным. Самое обычное, что можно сделать сейчас, это датьcss
Атрибуты добавляют приватные префиксы браузера для обеспечения совместимости между браузерами.
css
Препроцессорcss
Добавить некоторые функции программирования, не учитывая проблемы совместимости браузера, мы можемCSS
Использование переменных, простых логических программ, функций и т. д. в некоторых основных свойствах языков программирования может сделать нашуcss
Более лаконичный, повышающий адаптивность, удобочитаемость, ремонтопригодность и т. д.
разноеcss
Язык препроцессора:Sass(Scss
),Less
, Stylus
, Turbine
, Swithch css
, CSS Cacheer
, DT Css
.
Причина использования:
- Четкая структура, легко расширяемая
- Очень удобно скрывать различия в приватном синтаксисе браузера.
- Множественное наследование может быть легко реализовано
- идеально совместимы
CSS
код, который можно применить к старым проектам
16. В чем разница между двойным двоеточием и одинарным двоеточием в ::before и :after? Объясните роль этих двух псевдоэлементов.
(1), двоеточие (:
) заCSS3
Псевдокласс, двойное двоеточие (::
) заCSS3
Псевдоэлемент.
(2),::before
Это псевдоэлемент, определенный перед основным содержимым элемента с наличием дочернего элемента. не существует вdom
Среди них существует только на странице.
🍀Уведомление: :before
и:after
Эти два псевдоэлемента находятся вCSS2.1
вновь появился. Первоначально префиксы псевдоэлементов использовали синтаксис с одним двоеточием, но сWeb
эволюция, вCSS3
В спецификации синтаксис псевдоэлемента изменен, чтобы использовать двойное двоеточие, становясь::before ::after
.
17. Как с помощью CSS сделать шрифты на странице четче и тоньше?
-webkit-font-smoothing
существуетwindow
работает не под системой, а вIOS
работает на устройстве-webkit-font-smoothing:antialiased
является оптимальным, сглаживание оттенков серого.
18. Если вам нужно вручную писать анимацию, как вы думаете, какой минимальный интервал времени и почему?
Частота по умолчанию для большинства мониторов60Hz
, то есть обновлять 60 раз за 1 секунду, поэтому теоретический минимальный интервал равен1/60*1000ms = 16.7ms
.
19. В чем разница между эффектом прозрачности rgba() и непрозрачностью?
opacity
Прозрачность применяется к элементу и всему содержимому внутри элемента (включая текст);
rgba()
Работает только с собственным цветом элемента или цветом его фона, а дочерние элементы не наследуют эффект прозрачности;
20. Что делает содержимое свойства css?
content
свойства применяются специально дляbefore/after
В псевдоэлементах используется для вставки дополнительного контента или стилей.
21. 🧐 Пожалуйста, объясните CSS3 Flexbox (модель макета flex box) и применимые сценарии?
концепция:
Flex
даFlexible Box
Аббревиатура для «гибкой компоновки», используемая для обеспечения максимальной гибкости блочных моделей. использоватьFlex
элементы макета, называемыеFlex
контейнер(flex container)
, именуемый «контейнером». Все его дочерние элементы автоматически становятся членами контейнера, называемымиFlex
проект(flex item)
, именуемый «Проект».
Применимые сценарии: любой контейнер может быть указан какFlex
макет.Flexbox
Создавайте автоматически расширяемые и сжимаемые макеты для экранов разных размеров.
22. Когда display:inline-block покажет пробел?
- Когда есть пробелы, будут пробелы, которые можно решить, удалив пробелы;
-
margin
Когда придет время, вы можете позволитьmargin
Решите с отрицательными значениями; - использовать
font-size
Когда, установивfont-size:0
,letter-spacing
,word-spacing
решать;
23. Объясните форматы изображений png, jpg, jpeg, bmp и gif и когда их использовать. Вы узнали о webp?
(1),png
- Портативные веб-изображения(Portable Network Graphics)
, представляет собой формат файла растрового изображения со сжатием данных без потерь. Преимущества: высокая степень сжатия и хорошая цветопередача. Доступен в большинстве мест.
(2),jpg
Это метод сжатия с искажением, используемый для фотографий.Это деструктивное сжатие, которое хорошо сглаживает изменения в тонах и цветах. существуетwww
, формат, используемый для хранения и передачи фотографий.
(3),gif
— это формат файла растрового изображения, который воспроизводит изображения в реальном цвете с 8-битным цветом. Эффекты анимации могут быть достигнуты.
(4),bmp
Достоинства: Качественные картинки Недостатки: Слишком большие Применимые сценарии:windows
Обои для рабочего стола;
(4),webp
Формат представляет собой формат изображения, запущенный Google в 2010 году, и степень сжатия составляет всегоjpg
2/3 соотношения размераpng
на 45% меньше. Недостатком является то, что время сжатия больше, а совместимость плохая.В настоящее время Google иopera
служба поддержки.
24. Какая разница в производительности, когда px и em часто используются в стилях CSS?
px
Функция увеличения шрифта браузера недоступна относительно разрешения экрана монитора.
em
Значение не является фиксированным и наследует размер шрифта родителя:em = 像素值 / 父级font-size
.
25. Высокоадаптивный элемент div с двумя элементами div, один из которых имеет высоту 100 пикселей. Как решить проблему с надеждой, что другой элемент заполнит оставшуюся высоту?
Вариант первый:.content { height: calc(100%-100px); }
Вариант 2:.container { position:relative; } .content { position: absolute; top: 100px; bottom: 0; }
третье решение:.container { display:flex; flex-direction:column; } .content { flex:1; }
26.overflow: Как решить проблему невозможности плавной прокрутки при прокрутке?
Слушайте событие колеса прокрутки, а затем используйте его при прокрутке на определенное расстояниеjquery
изanimate
Добейтесь эффекта сглаживания.
27. В чем разница между преобразованием, анимацией и длительностью анимации?
-
Transform
: это иwidth
,left
Точно так же многие статические стили элементов определены для достижения таких функций, как деформация, вращение, масштабирование, смещение и перспектива.Благодаря сочетанию ряда функций мы можем добиться классных статических эффектов (без анимации). -
Animation
: воздействует на сам элемент, а не на атрибут стиля, относящийся к категории анимации по ключевым кадрам, который сам по себе используется для замены некоторых чисто выразительных элементов.javascript
код для достижения анимации, вы можете передатьkeyframe
Явно управлять значением свойства текущего кадра. -
animation-duration
: указывает время, необходимое для завершения анимации, в секундах или миллисекундах.
28. Как понимать высоту строки?
line-height
Это относится к высоте строки слов, включая расстояние между словами, которое на самом деле является расстоянием от базовой линии следующей строки до базовой линии предыдущей строки. Если тег не определенheight
свойство, то высота его конечной производительности определяется выражениемline-height
решил. Контейнер не имеет установленной высоты, тогда высота, которая растягивает контейнер, равнаline-height
, а не текстовое содержимое внутри контейнера. Пучокline-height
установлено значениеheight
Значение того же размера может обеспечить вертикальное центрирование одной строки текста.line-height
иheight
может держаться на высоте,height
вызоветhaslayout
,иline-height
Не буду.
29. Как написать модуль стиля извлечения? описать его идеи.
возможноcss
Делится на две части: общедоступнаяCSS
и бизнесCSS
.
Цвет, шрифт и взаимодействие веб-сайта извлекаются как общедоступные.CSS
. этой частиCSS
Название не должно относиться к конкретному бизнесу. для бизнесаCSS
, нужно иметь унифицированное имя, использовать общий префикс.
30. Следует ли использовать на веб-страницах четные или нечетные шрифты?
На веб-страницах следует использовать «четный» шрифт:
Четные числа относительно легче суммироватьweb
Остальные части дизайна образуют пропорциональные отношения.При использовании шрифтов с нечетными номерами текстовые абзацы не могут быть выровнены.Наиболее часто используемый в макете китайских веб-страниц в династии Сун12
и14
.
31. 🤥 Что такое перекрытие полей? Каков результат перекрытия?
Во-первых, перекрытие полейmargin-collapse
. Поля двух соседних блоков (возможно, родственных или предков) можно объединить в одно поле. Такой способ объединения полей называется свертыванием, а объединенные поля называются сворачивающимися полями.
Результаты складывания следуют следующим принципам расчета:
- Когда два соседних внешних поля являются положительными числами, результатом свертывания является большее из них;
- Когда два соседних поля отрицательны, результатом схлопывания является большее из двух абсолютных значений;
- Когда два внешних поля положительные и отрицательные, результат складывания представляет собой сумму двух;
32. В чем разница между отображением: нет и видимостью: скрыто;
Контакт: значение этих двух свойств может сделать элемент невидимым;
разница:
-
С точки зрения занимаемой площади:
display: none;
элемент полностью исчезнет из дерева рендеринга и не займет места при рендеринге;visibility: hidden;
Не заставляет элемент исчезать из дерева рендеринга, элемент рендерера продолжает занимать место, но содержимое не видно; -
С точки зрения наследства:
display: none;
Это ненаследуемый атрибут, узел-потомок исчезает, потому что элемент исчезает из дерева рендеринга и не может быть отображен путем изменения атрибута узла-потомка;visibility:hidden;
Это унаследованное свойство, и узел-потомок исчезает из-за наследования.hidden
, установивvisibility: visible;
Вы можете сделать дочерние узлы явными; -
С точки зрения перерисовки и перекомпоновки: изменяет
display
Обычно вызывает перестановку документа. Исправлятьvisibility
Атрибут вызовет только перерисовку этого элемента
Программы чтения с экрана не читаютdisplay: none;
содержимое элемента; будет читатьvisibility: hidden
содержание элемента;
33. Каковы принципы взлома css и часто используемые хаки?
Принцип: Используйте разные браузеры дляCSS
Поддержка и результаты синтаксического анализа отличаются от стилей написания для конкретных браузеров.
Общийhack
имеют:взлом собственности,взломать селектор,Условные комментарии IE.
34. В чем разница между ссылкой и @import?
-
link
даHTML
Способ,@import
даCSS
Способ; -
link
Максимальная поддержка параллельных загрузок,@import
Слишком большая вложенность приводит к последовательной загрузке, появляющейсяFOUC
; -
link
в состоянии пройтиrel="alternate stylesheet"
Укажите стили-кандидаты; - пара браузеров
link
поддержку раньше, чем@import
,можно использовать@import
Скрыть стили от старых браузеров; -
@import
На другие файлы можно ссылаться в файле css, они должны быть перед правилами стиля;
В целом:link
лучше чем@import
.
35. Что такое FOUC (Flash of Unstyled Content)? Как избежать FOUC?
когда используешь@import
ИмпортироватьCSS
, это приведет к тому, что некоторые страницыIE
Наблюдается странное явление: содержимое страницы без стиля мгновенно мерцает, это явление называется "временная недействительность стиля документа", сокращение отFOUC
.
Причина: если таблица стилей загружается позже, чем структурный HTML, страница перестанет отображаться до загрузки этой таблицы стилей. Ожидание загрузки и анализа таблицы стилей перед повторным рендерингом страницы, что приводит к кратковременному размытию экрана.
Решение: просто<head>
добавить один между<link>
или<script>``</script>
элемент.
36. Какая связь между display, float и position?
- если
display
заnone
,Такposition
иfloat
ни работает, элемент не отображается; - если
position
значениеabsolute
илиfixed
, элемент абсолютно позиционирован,float
рассчитывается какnone
,display
Внесите коррективы в соответствии с таблицей ниже; - если
float
нетnone
, коробка плавает,display
Отрегулируйте в соответствии с таблицей ниже; - в других случаях
display
Значение указанного значения Подводя итог: абсолютное позиционирование, плавающие, корневые элементы необходимо настроитьdisplay
;
37. Сворачивающиеся поля
два и более смежныхmargin
будут объединены в одинmargin
, называемое схлопыванием полей. Правила следующие:
- Два или более смежных блочных элемента в нормальном потоке в вертикальном направлении
margin
будет складываться; - плавающий элемент или
inline-block
элемент или абсолютно позиционированный элементmargin
не будет взаимодействовать с другими элементами в вертикальном направленииmargin
складывать; - Элемент, создающий контекст форматирования на уровне блока, не взаимодействует со своими дочерними элементами.
margin
складывать; - собственный элемент
margin-bottom
иmargin-top
Также складывается, когда рядом;
38. Какие есть способы скрыть элементы?
-
visibility: hidden;
Это свойство просто скрывает элемент, но пространство, занимаемое элементом, все еще существует; -
opacity: 0;``CSS3
Атрибут, установка 0 может сделать элемент полностью прозрачным; -
position: absolute;
Установите большое отрицательное левое позиционирование, чтобы расположить элемент за пределами видимой области; -
display: none;
Элемент становится невидимым и больше не занимает место в документе; -
transform: scale(0);
Установите для элемента бесконечно малый масштаб, элемент не будет виден, а исходное положение элемента будет сохранено; -
<div hidden="hidden">
HTML5
свойства, эффекты иdisplay:none;
То же самое, но это свойство используется для записи состояния элемента; -
height: 0;
Установите высоту элемента на 0 и удалите границу; -
filter: blur(0);
CSS3
Атрибут, чем больше значение в скобках, тем больше степень размытия изображения по Гауссу, и изображение исчезнет при достижении определенного уровня(此处感谢小伙伴支持)
;
39. Что вызывает невидимое пустое пространство между li и li? Каково решение?
li
На расположение влияет пробел посередине (возврат каретки/пробел) и т. д., поскольку пробел также является символом, он будет занят применяемым стилем, что приведет к появлению пробела. Решение:
- существует
ul
китайское использованиеfont-size:0
(не поддерживается Google); вы можете использоватьletter-space:-3px;
- настраивать
float:left;
40. Как браузеры анализируют селекторы CSS?
Парсинг браузераCSS
Разбирается сверху вниз и справа налево, что повысит эффективность нахождения элемента, соответствующего селектору (что касается причины, то интересующиеся детские туфли смогут узнать сами).
41.🤭Какой принцип полноэкранной прокрутки? Какие свойства CSS используются?
Полноэкранная прокрутка чем-то похожа на карусель, общие элементы расположены все время, при условии наличия5
Полноэкранная страница, которую нужно отобразить, тогда высота500%
, просто покажи100%
. Также это можно понимать как превышение скрытой части и отображение ее при прокрутке.
возможное использованиеCSS
Род:overflow:hidden; transform:translate(100%, 100%); display:none;
❤️расширять: Вы также можете воспользоваться преимуществом визуальной прокрутки в полноэкранном режиме, использоватьbackground-attachment: fixed;
для достижения полноэкранного эффекта. (Вот еще одна идея, предложенная заботливыми друзьями🤨)
42. Понимание ядра браузера?
Ядро браузера в основном разделено на две части: движок рендеринга и движок js;
- Механизм рендеринга: отвечает за получение содержимого страницы (
html
,xml
, изображения и т. д.), организация сообщений (добавлениеcss
д.), и рассчитать режим отображения веб-страницы, а затем вывести ее на монитор или принтер. Разные ядра браузеров по-разному интерпретируют синтаксис веб-страниц, поэтому эффекты рендеринга также будут разными. Ядро требуется для всех веб-браузеров, почтовых клиентов и других приложений, которым необходимо редактировать и отображать веб-страницы. -
JS
Движок: анализ и выполнениеJavascript
Для достижения динамического эффекта веб-страницы.
Изначально движок рендеринга иjs
Двигатели четко не дифференцированы, позжеjs
Двигатели становятся все более и более независимыми, а ядро стремится только к рендерингу движков.
43. Понимание и понимание стандартов WEB и W3C
Требования к структуре: (стандартизированные теги позволяют повысить эффективность сканирования страниц поисковыми системами.SEO
очень полезно)
- ярлык, чтобы закрыть
- строчные буквы этикетки
- Теги не могут быть вложены произвольно
заCSS
иJS
Сказать:
- Максимально используйте внешние ссылки
CSS
таблицы стилей иJS
сценарий. При этом структура, производительность и поведение делятся на три части, соответствующие норме. Кроме того, необходимо повысить скорость рендеринга страниц и улучшить взаимодействие с пользователем. - Сведите к минимуму использование встроенных стилей, чтобы разделить структуру и представление. помечен
id
иclass
Названия атрибутов и т. д. должны быть знакомы тексту Чем меньше тегов, тем быстрее загрузка и выше пользовательский опыт. В то же время код будет легче поддерживать и легко модифицировать. - Нет необходимости изменять содержимое, вы можете распечатать версию вместе, не копируя содержимое, что повышает удобство использования веб-сайта.
44. Сделать сайт с большим трафиком, как управлять всеми файлами css, js и картинками?
Ответ с точки зрения рабочей силы, разделения труда и синхронизации:
- На ранней стадии команда должна подтвердить глобальный стиль и режим кодирования;
- Стиль кода и манера написания совпадают;
- Автор стиля аннотации, каждый модуль должен быть помечен во времени (отметить место, где вызывается ключевой стиль);
- Отметьте страницы, за которые вы отвечаете;
-
CSS
иJS
Подпапки хранятся параллельно, и названия должны быть унифицированы; -
JS
хранилище подпапок, очевидно, сJS
Английский перевод функции имеет преимущественную силу; - Изображение интегрировано
.png
Отформатируйте хранилище, попробуйте интегрировать его вместе, чтобы облегчить управление в будущем;
45. Эффект прокрутки параллакса и как его добиться?
Параллаксная прокрутка(Parallax Scrolling)
Относится к технологии отображения веб-страницы (3D-эффект), в которой многоуровневые элементы перемещаются в разной степени в процессе прокрутки веб-страницы для визуального формирования трехмерного эффекта движения.
Метод реализации:
-
CSS3
Реализация: Преимущество заключается в том, что время разработки относительно короткое, а производительность и эффективность разработки относительно хорошие. Недостатком является то, что он не совместим с браузерами более ранних версий; -
JQuery
Реализация: (за счет управления скоростью прокрутки разных слоев и расчета времени каждого слоя) преимущество в том, что он может быть совместим с различными версиями, и эффект управляем, но недостаток в том, что у него более высокие требования к производителю; - Реализация плагина: например, использование
parallax-scrolling
, совместимость очень хорошая;
46. Понимание спецификации BFC (контекст форматирования блока: контекст форматирования блока)
BFC
предусматривает внутреннююBlock Box
Как оформить. Страница состоит из множестваBox
состав, тип элементов иdisplay
свойства, определяющие этоBox
тип. различные видыbox
, примет участие в различныхFormatting Context
(контейнер, который решает, как отображать документ), поэтомуBox
Элементы внутри будут отображаться по-другому, т.е.BFC
Внутренний элемент и внешний элемент не влияют друг на друга.
Схема позиционирования:
- Внутренний
box
будут располагаться друг за другом в вертикальном направлении; -
box
Расстояние по вертикали определяется какmargin
решение, принадлежат к одномуBFC
два соседнихBox
изmargin
происходит перекрытие; - каждый элемент
margin box
слева, с содержащим блокомborder box
левая сторона контакта; -
BFC
Область не будет перекрываться с плавающей рамкой; -
BFC
Это изолированный и независимый контейнер на странице, и элементы внутри контейнера не будут влиять на элементы снаружи; - рассчитать
BFC
, плавающие элементы также будут участвовать в расчете.
Вы можете запустить BFC, если выполняется одно из следующих условий:
- Меняется корневой элемент, т.е.
html
; -
float
Значение неnone
(дефолт); -
overflow
Значение неvisible
(дефолт); -
display
значениеinline-block
,tabke-cell
,table-caption
; -
position
значениеabsolute
илиfixed
;
47. Относится ли вертикальный процент элемента к высоте контейнера?
Как правило, процентная единица дочерних элементов основана на родительском элементе. ноmargin
иpadding
исключение. элементальheight
относительно высоты контейнера, но элементmargin
иpadding
относится к ширине контейнера.
48. Как создать полноэкранный макет «пинци»?
Способов довольно много, но самый простой:div
Ширина установлена на 100%, а нижние дваdiv
установлен в50%
и использоватьfloat
илиinline
Просто держите его на одной линии (конкретный стиль можно настроить самостоятельно). следующее:
css:
.content {
width: 50%;
height: 150px;
margin: 0 auto;
}
.top {
width: 40%;
height: 50px;
background-color: pink;
margin-bottom: 50px;
margin-left: 30%;
}
.left {
width: 45%;
height: 50px;
background-color: pink;
float: left;
}
.right {
width: 45%;
height: 50px;
background-color: pink;
float: right;
}
html:
<div class="content">
<div class="top"></div>
<div class="left"></div>
<div class="right"></div>
</div>>
49. Какова совместимость часто встречающихся браузеров? Причина, каково решение и часто используемые методы взлома?
(1), проблема:png24
битовые картинки вie
В браузере появится фон. Решение: сделатьpng8
;
(2), проблема: браузер по умолчаниюmargin
иpadding
разные. Решение: добавить глобальный*{ margin: 0; padding: 0;}
;
(3), проблема:IE
Ниже вы можете использовать метод получения обычных свойств, чтобы получить пользовательские свойства, или вы можете использоватьgetAttribute()
чтобы получить пользовательские свойства, в то время какFirefox
вниз, используйте толькоgetAttribute()
Получить пользовательские свойства. Решение: унифицировано черезgetAttribute()
Получить пользовательские свойства;
(4), проблема:IE
Вниз,event
объект имеетx
,y
свойства, но нетpageX
,pageY
свойства, при этомFirefox
Вниз,event
объект имеетpageX
,pageY
свойства, но нетx
,y
Атрибуты. Решение: использоватьmX(mX = event.x ? event.x : event.pageX;)
заменитьIE
внизevent.x
илиFirefox
внизevent.pageX
.
50. Каковы наиболее часто используемые свойства box-sizing? Каков эффект каждого?
-
box-sizing: content-box;
// стандарт по умолчанию(W3C)
Эффект элемента блочной модели; -
box-sizing: border-box;
// вызвать странность(IE)
Эффект элемента боксовой модели; -
box-sizing: inherit;
// наследовать от родительского элементаbox-sizing
стоимость имущества;
51. 🤤 Должны ли использоваться нечетные или четные шрифты на веб-страницах?
Как правило, на веб-страницах следует использоватьчетноешрифт. причина:
- Четные числа относительно легче суммировать
web
Остальная часть дизайна представляет собой пропорциональные отношения; - Абзацы текста не выравниваются при использовании системы счисления;
- Наиболее часто используемые в макете китайских веб-страниц типа Song — 12-й и 14-й.
52. Для каких сценариев подходят margin и padding?
(1), необходимоborder
При добавлении заготовок снаружи и заготовкам не нужен фон (цвет), или когда заготовкам между двумя коробками, соединенными вверх и вниз, необходимо аннулировать друг друга, вы можете использоватьmargin
;
(2), необходимоborder
При добавлении пробела внутри и бланку нужен фон (цвет) или пробел между двумя прямоугольниками, соединенными вверх и вниз, вы можете использовать его, когда хотите, чтобы он был равен сумме двухpadding
.
53. В чем разница и назначение псевдоэлементов и псевдоклассов?
Во-первых, эффект псевдоклассов может быть достигнут путем добавления реальных классов, тогда как эффект псевдоэлементов может быть достигнут путем добавления реальных элементов. так ихСущественная разница заключается в том, создает ли абстракция новые элементы.
Псевдоэлемент/псевдообъект: не существует в документе DOM, является виртуальным элементом, необходимо создать новый элемент. Представляет дочерний элемент элемента, который существует логически, но фактически не существует в дереве документа.
p::first-child {color: red}
Псевдокласс: существуетDOM
Категория «призрак», которая логически существует в документе, но не нуждается в идентификации в дереве документа.
a:hover {color: #FF00FF}
p:first-child {color: red}
🍀Уведомление:
- Псевдоклассы могут использовать только ":";
- Псевдоэлемент может использовать либо ":", либо "::";
- Поскольку псевдоклассы аналогичны добавлению классов, их может быть несколько, в то время как псевдоэлементы могут появляться в селекторе только один раз и могут появляться только в конце.
54. В чем разница между двойным двоеточием и одинарным двоеточием в ::before и :after?
- существует
CSS
Китайские псевдоклассы всегда представлены : , например:hover
,:active
Ждать; - псевдоэлемент в
CSS1
уже существует в , в то время синтаксис был представлен : , например:before
и:after
; - позже
CSS3
Средняя ревизия, используются псевдоэлементы::
средства, такие как::before
и::after
, чтобы отличать псевдоэлементы от псевдоклассов; - из-за более низкой версии
IE
Он не совместим с двойным двоеточием.Для совместимости с различными браузерами разработчики продолжают использовать:after
Этот старый синтаксис представляет псевдоэлементы;
В итоге:::before
даCSS3
Новый синтаксис для записи псевдоэлементов в ;:after
даCSS1
существующий в, совместимый сIE
старый синтаксис.
55. Как сделать текст поддержки Chrome меньше 12 пикселей?
.shrink {
-webkit-transform: scale(0.8);
-o-transform: scale(1);
display: inilne-block;
}
56. Установить несколько элементов в одну строку, сколько способов очистить поплавок?
Способы установки нескольких элементов на одной строке: используйтеfloat
илиinline-block
;
Способ очистки поплавка:
- Добавить новые элементы, применить
clear: both
; - Отец
div
определениеoverflow:hidden
; - использовать
:after
и:before
Чтобы вставить два блока элементов внутрь элемента, чтобы добиться эффекта очистки поплавка.
.clear { zoom:1; }
.clear:after {
content:" ";
clear:both;
display:block;
height:0;
overflow:hidden;
visibility:hidden;
}
57. Кратко о концепции CSS-хака и нескольких CSS-хаках?
концепция:
CSS hack
сквозьCSS
Добавьте в стиль некоторые специальные символы, чтобы разные браузеры могли распознавать разные символы (какой браузер распознает, какие символы являются стандартными,CSS hack
чтобы вы запомнили этот стандарт) для того, чтобы применять различныеCSS
цель стиля.
(1), разрыв изображения
существуетdiv
вставить картинку вdiv
растянуться3px
:
-
hack1
: будет<div>
и<img>
пишется на одной строке; -
hack2
: давать<img>
Добавить кdisplay:block
;
dt
li
Разрыв изображения в:
-
hack1:
давать<img>
Добавить кdisplay:block
;
(2), высота по умолчанию,IE6
В следующих версиях некоторые элементы блока имеют высоту по умолчанию (менее 18 пикселей):
-
hack1
: добавить к элементу:font-size: 0
; -
hack2
: Заявление:overflow: hidden
;
Высота строки формы несовместима:
-
hack1
: Добавьте объявление в форму:float: left; height: ; border: 0
;
курсор мыши:
-
hack
: если указатель мыши элемента объединен в форму руки:cursor: pointer;
, когда a in li преобразуется в блочный элемент, дайтеa
настраиватьfloat
,IE
Внутри будут ступеньки; -
hack1
: даватьa
Добавить кdisplay: inline-block
; -
hack2
: даватьli
Добавить кfloat: left
;
58. В чем разница между CSS2.0 и CSS3.0?
CSS3
усиленныйCSS2
, добавлены новые атрибуты и новые теги, а также удалены некоторые избыточные теги, что уменьшило объем кода с точки зрения макета. Ранее сложные макеты теперь можно решить с помощью одного свойства (например,columns
Ждать). К презентационным эффектам добавлено больше эффектов (таких как анимация, тени, закругленные углы и т. д.), а также улучшены блочная модель и модули списка. ноCSS3
С точки зрения совместимости все еще есть некоторые недостатки, которые могут поддерживать только некоторые браузеры высокого уровня.
59. Определение блочных элементов, встроенных элементов и пустых элементов?
- встроенный элемент: и другие элементы находятся на одной строке, высота, высота строки и поля и отступы не могут быть изменены, ширина текста и изображений не могут быть изменены, может быть размещен только текст или другие встроенные элементы;
- элемент блочного уровня: всегда начинается с новой строки, высота, высота строки, поля и отступы контролируются, могут вмещать ограниченные элементы и другие элементы;
-
пустой элемент:существует
HTML
элемент без содержимогоHTML
Элементы называются пустыми элементами. Пустые элементы закрываются открывающим тегом.<br>
Просто пустой элемент без закрывающего тега.
60. Как исправить проблемы со стилем в браузере?
Предлагаемое решение: отстаивать прямую совместимость, не учитывать обратную совместимость. Согласно основным браузерам в группе пользователей продукта, рассмотрим совместимые браузеры.
Браузеры можно разделить на две категории: устаревшие браузеры и современные браузеры. Разработайте две версии веб-сайта в соответствии с этой классификацией, а затем определите, какие браузеры являются устаревшими версиями.
Когда пользователь использует устаревшую версию, панель уведомлений информирует пользователя о необходимости использовать современный браузер, получить больше функций, улучшить взаимодействие с пользователем и т. д. (обновление). Если браузер пользователя несовместим, пользователю предлагается только указать, какую версию браузера использовать для использования веб-сайта (загрузить совместимый браузер).
🍀Уведомление: Перед началом проекта необходимо подтвердить минимальную версию, поддерживаемую совместимостью, чтобы разработать соответствующее решение совместимости.
61. 🥴Как браузер определяет, соответствует ли элемент селектору CSS?
Браузер сначала генерирует набор, который обычно формируется по индексу последней части (если индекса нет, то это набор всех элементов). Затем сопоставьте вверх.Если он не соответствует предыдущей части, удалите элемент из набора до тех пор, пока не будет сопоставлен селектор, а элементы, все еще находящиеся в наборе, не будут соответствовать селектору.
62. Опишите роль и цель сброса css?
Reset
перезагрузить браузерCSS
Свойства по умолчанию, когда браузеры имеют разные разновидности и стили, сбросьте их, чтобы сделать их унифицированными.
63. Что такое CSS-спрайты? как пользоваться?
css
Sprite, который объединяет кучу маленьких картинок в большую картинку (png), используяCSS
из“background-image”
,“background- repeat”``,“background-position”
Комбинация фонового позиционированияbackground-position
Положение фонового изображения можно точно определить по номерам, а количество запросов изображений с сервера можно уменьшить.
64. Каковы преимущества и недостатки CSS-спрайтов?
преимущество:
- использовать
CSS Sprites
Это может очень хорошо уменьшить HTTP-запрос веб-страницы, тем самым значительно улучшив производительность страницы, что такжеCSS Sprites
самое большое преимущество; -
CSS Sprites
Может уменьшить байты картинки.После многих сравнений байты слияния 3-х картинок в одну картинку всегда меньше суммы байтов этих 3-х картинок.
недостаток:
- При объединении изображений необходимо упорядоченно и разумно объединять несколько изображений в одно изображение и оставлять достаточно места, чтобы предотвратить появление ненужного фона в пластине. Для адаптивных страниц под широкоэкранным и высоким разрешением, если фон недостаточно широкий, легко вызвать поломку фона;
-
CSSSprites
Это относительно громоздко при разработке, и вам нужно использовать помощьphotoshop
или другие инструменты для измерения точного местоположения каждой фоновой ячейки. - Техническое обслуживание:
CSS Sprites
Это более хлопотно во время обслуживания.Когда фон страницы немного изменен, объединенная картинка должна быть изменена.Постарайтесь не перемещать места, которые не нужно менять, чтобы избежать изменения большеCSS
, если не получается поставить на исходное место, то можно только (лучше всего) добавить картинку вниз, так что байты картинки будут увеличиваться, и нужно будет ее менять.CSS
.
расширять:В настоящее время спрайты, используемые при разработке веб-сайтов (например, библиотеки шрифтов), как правило, напрямую используются в облаке, а не используются такие локальные, как библиотека значков Ali.
65. Отличие и применение абсолютного позиционирования и плавающего?
абсолютное позиционирование: Абсолютное позиционирование отличается от стандартного потока документов, и его контрольной точкой является верхний левый или верхний правый угол документа. Если какой-либо родительский элемент имеет атрибут позиционирования, вы можете обратиться к "Сын Отца” для установки собственных опорных элементов позиционирования. Он очень гибкий в процессе веб-производства. При создании эффектов наложения часто используется абсолютное позиционирование.
плавать: Плавающий элемент выходит за рамки стандартного потока документов и часто используется для размещения элементов, которые отображаются рядом друг с другом, обычно для больших макетов или для неупорядоченных списков, таких как изображения, рядом друг с другом. можно использоватьclear:both
Атрибуты позволяют другим элементам в стандартном потоке следовать по порядку.
66. Как исправить двойное поле в IE6, когда float и margin используются одновременно?
Когда направление поплавка иmargin
Когда он находится в том же направлении, IE6 создаст двойное значение для первого элемента в этом направлении.margin
.
Решение:
(1), изменитьmargin
направление,float:left; margin-right:20px;
плавать влево,margin
Направо;
(2) Напишите отдельный класс для первого элемента с именем.content
, В настоящее время.content{_margin-left:一半的margin;}
;
(3), используйтеdisplay:inline;
Не нужно плавать (хахахаха).
67. Кратко опишите, что такое разделение содержания и представления?
Первый дляhtml
,css
а такжеjavascript
, что можно понимать следующим образом:
понимать сайт как человека,html
Это «скелет», из которого состоит человеческое тело.css
Это «украшение» человеческого тела, такое как одежда, аксессуары и т. д.; иjavascript
Это эквивалентно «действию», совершаемому людьми, поэтому его легко понять.
Что касается разделения контента и исполнения, то понимание редактора таково: постарайтесь неhtml
Вставьте встроенные стили вhtml
Разделение «скелета» и стиля не только полезно для поисковых систем, но и удобно для последующего обслуживания.
68. Как CSS оценивает, что разные разрешения отображают разную ширину макета, чтобы добиться адаптивной ширины?
- Используйте процентную раскладку, используйте проценты для ширины записи,
marign
,padding
; - использовать
rem
Делай единицы, пиши правильноjs``让html
Размер шрифта корневого элемента меняется пропорционально ширине браузера; - Используйте медиа-запросы, чтобы браузеры разной ширины использовали разные таблицы стилей.
69.Почему rem можно масштабировать и что такое эталон? Каковы его преимущества и недостатки?
rem``以html
Размер шрифта является ориентиром, например2rem
,иhtml
размер шрифта16px
,В настоящее времяrem
это32px
. можно написать абзацjs
позволятьhtml
Размер шрифта корневого элемента изменяется пропорционально ширине браузера, что приводит к пропорциональному масштабированию страницы.
преимущество:
относительноem
В интересах , нет постепенного увеличения или уменьшения размера шрифта, потому что размер шрифта корневого элемента всегда интегрируется;rem
Единицы можно применять не только к размеру шрифта, но и к другим размерам, таким как высота, чтобы страницу можно было адаптировать к разным размерам экрана.
🍀Уведомление:rem
Обычно используется только на мобильных терминалах.
70. 5 распространенных проблем совместимости скриптов Firefox и IE.
-
привязать слушателя:
IE
даattatchEvent()
,firefox
даaddEventListener()
; -
стиль расчета:
IE
даcurrentStyle
,firefox
даgetComputedSyle
; -
событие прокрутки:
IE
даMouseWheel
,firefox
даonmousewheel
; -
элемент формы:
IE
даdocument.forms(”formname”)
,firefox
даdocument.forms["formname"]
; -
объект события:
IE
даwindow.event
Атрибуты,firefox
Обработчик события должен быть введен с аргументамиevent
;
71. Как рассчитывается приоритет 🥳css?
Чтобы закрепить:
Классификация | приоритет |
---|---|
селектор элементов | 1 |
селектор класса | 10 |
селектор идентификатора | 100 |
тег элемента | 1000 |
(1),!important
Объявленный стиль имеет наивысший приоритет, и в случае возникновения конфликта он будет пересчитан;
(2) При одинаковом приоритете последний стиль имеет преимущественную силу;
(3) Приоритет унаследованного стиля самый низкий.
72. Рассмотрите ценность положения и его роль?
-
static
(по умолчанию): упорядочить в соответствии с обычным потоком документов; -
relative
(относительное позиционирование): не отходя от потока документов, ссылаться на собственное статическое положение черезtop
,bottom
,left
,right
должность; -
absolute
(абсолютное позиционирование): ближайшее опорное расстояние неstatic
Родительский элемент передаетсяtop
,bottom
,left
,right
должность; -
fixed
(Фиксированное позиционирование): фиксированным эталонным объектом является видимое окно.
73. Какие виды расширенных макетов существуют?
- Поддельные столбцы одинаковой высоты: используйте фоновое изображение и используйте это фоновое изображение в родительском элементе столбца, чтобы проложить ось Y, чтобы создать иллюзию столбцов одинаковой высоты;
- для контейнера
div
Используйте отдельный цвет фона (фиксированный макет) (гибкий макет): используйте максимальную высоту элемента, чтобы поддерживать высоту других контейнеров; - Чтобы создать двухколоночный макет одинаковой высоты с границами: используйте
border-left
Для этого используйте две колонки; - использовать положительный
padding
и отрицательныйmargin
Хеджирование реализует многоколоночный метод компоновки: верх, низ используются во всех столбцах.padding
и минус вверх и внизmargin
и добавьте контейнер вне всех столбцов, установитеoverflow: hidden
, чтобы вырезать фон переполнения. - Используйте границы и позиционирование для имитации высоты столбцов: но не в нескольких столбцах;
- Имитация эффектов высоких столбцов, таких как макет таблицы: плохая совместимость, в
ie6-7
не может нормально работать;
74. Каков порядок выполнения :link, :visited, :hover и :active?
L-V-H-A
,l(link)ov(visited)e h(hover)a(active)te
, то есть суммируется словами нравится и ненавижу.
75. Каковы часто встречающиеся совместимости браузеров? Как решить?
- браузер по умолчанию
margin
иpadding
разные; -
IE6
двойное расстояниеbug
; - существует
IE6-7
Высота среднего элемента превышает высоту, установленную им самим. Причина в том, что браузеры до IE8 устанавливали высоту строки марионетки в элемент; -
min-height
существуетIE6
не работает под; - прозрачность
IE
использоватьfilter:Alpha(Opacity=60)
, в то время как другие основные браузеры используютopacity: 0.6
; -
input
пограничная проблема, удалитьinput
граница общего пользованияborder:none;
просто отлично, но так какIE6
разборinput
время стиляbug
(приоритетный вопрос), вIE6
является недействительным;
76. Зачем нужна семантика и понимание семантики ярлыков?
причина:Для того, чтобы представить хорошую структуру внутренней трубы и структуру кода на странице без css (это можно понять как красивое при штриховании хахаха).
понимать:
- Когда стили удаляются или теряются, страница может иметь четкую структуру;
- выгодно для
SEO
, которые могут установить хорошую связь с поисковыми системами и помочь сканерам более эффективно сканировать информацию (краулеры полагаются на теги для определения контекста и веса каждого ключевого слова); - Другим устройствам удобно анализировать (например, программы для чтения с экрана, программы чтения вслепую, мобильные устройства и т. д.) и отображать веб-страницы осмысленным образом;
- Это удобно для разработки и обслуживания команды, а семантика более читабельна.
W3C
Стандартные команды следуют этому стандарту, что может уменьшить дифференциацию кода;
77. Каковы общие макеты CSS?
ОбщийCSS
Макеты:Фиксированная раскладка,Схема потока,Гибкая компоновка,плавающий макет,макет позиционирования,поля и отступы.
78. В чем сходство и различие между абсолютным и фиксированным положением?
Тот же пункт:
- изменить способ отображения встроенных элементов,
display
установить какblock
; - Держите элементы вне обычного потока и не занимайте места;
- По умолчанию он будет перезаписан на непозиционированных элементах;
разница:
-
absolute
"Корневой элемент" может быть установлен, в то время какfixed
«Корневой элемент» прикрепляется к окну браузера; - При прокрутке страницы,
fixed
Расстояние между элементом и окном браузера постоянно.
79. Какие свойства CSS можно наследовать? Какие свойства нельзя наследовать?
- Наследуемые свойства стиля:
font-size
,font-family
,color
,list-style
,cursor
,ul
,li
,dl
,dd
,dt
; - Ненаследуемые свойства стиля:
width
,height
,border
,padding
,margin
,background
;
🍀Уведомление: Для облегчения понимания редактор считает, что это можно примерно понять какСтили, связанные со шрифтом, могут наследоваться, но стили, связанные с размером, наследоваться не могут..
80. Используете препроцессор CSS?
CSS
Основная идея препроцессора: дляCSS
Добавлены некоторые переменные функции (переменные, логика и функции суждений и т. д.).
Разработчики используют этот язык для разработки стилей на веб-страницах, а затем компилируют их в обычныеcss
использование файлов. Используя препроцессоры CSS, вы можетеCSS
Более краткий, более адаптируемый и более читабельный, независимо от совместимости. чаще всего используетсяCSS
К языкам препроцессора относятся:Sass(Scss)
иLess
.
81. 🤧 После того, как элемент станет плавающим, как изменится отображаемое значение элемента?
После установки элемента в плавающее, элементdisplay
значение автоматически становитсяblock
.
82. Что такое строчные элементы, блочные элементы, пустые (void) элементы?
- Встроенные элементы:
a
,b
,span
,img
,input
,strong
,select
,label
,em
,button
,textarea
; - Элементы уровня блока:
div
,ul
,li
,dl
,dt
,dd
,p
,h1-h6
,blockquote
; - Пустой элемент: то есть без фактического содержания
html
элементы, такие как:br
,meta
,hr
,link
,input
,img
;
83. Свойство размера коробки?
Режим синтаксического анализа, используемый для управления блочной моделью элемента, по умолчанию равенcontent-box
.
-
content-box: W3C
Стандартная блочная модель элемента setheight/width
атрибут относится кcontent
ширина/высота секции; -
border-box
: традиционная блочная модель IE. установить элементheight/width
атрибут относится кborder + padding + content
высота/ширина секции;
84. Каковы преимущества анимации CSS3 по сравнению с анимацией на основе сценариев?
По сравнению со сценарной анимацией используйтеCSS3
Анимация имеет следующие преимущества:
- Простой в использовании, каждый может
javascript
создавать их без - Он хорошо работает даже при разумной нагрузке на систему.
- благодаря простой анимации в
javascript
Эффект относительно плохой, поэтому механизм рендеринга использует технологию пропуска кадров, чтобы сделать анимацию плавной; - Позволяет браузеру управлять последовательностями анимации, оптимизируя производительность и эффективность, устанавливая частоту обновления анимации, выполняемой на невидимых в данный момент вкладках;
85. Как оптимизировать стиль печати веб-страниц?
<link rel="stylesheet" type="text/css" media="screen(或者print、tv等) href="aaa.css">
🍀Уведомление, в таблице стилей печати следует также отметить следующие моменты:
- Лучше не использовать фоновые изображения в таблицах стилей печати, потому что принтеры не могут печатать фоновые изображения CSS. Если вы настаиваете на отображении изображения, вы можете использовать
html
вставить на страницу; - Лучше не использовать пиксели в качестве единицы измерения, потому что таблица стилей печати для печати — это реальная вещь, рекомендуется использовать
pt/cm
; - Скройте ненужный контент. (как
@print content{display: none}
); - Плавающие свойства устарели (и редко рекомендуются) в таблицах стилей печати, поскольку они исчезают.
86. В чем разница между стилями и css в React Native?
-
React Native
Стиль в основном реализованCSS
подмножество , и имена свойств не совсем совпадают, поэтому, когда вы начинаете думать о совместимостиReact Native
Перед окончанием можно вкратце разобратьсяReact Native
стиль. - Эти имена стилей в основном следуют
web
ВверхCSS
названный, как раз в соответствии сJS
Синтаксис требует использования camelCase. -
RN
использоватьJavaScript
Для написания стилей все основные компоненты принимают имена, называемыеstyle
свойства, эквивалентныеcss
встроенные стили. - существует
React Native
Используйте правила Flexbox для указания макета дочерних элементов компонента.Flexbox
Обеспечивает согласованную структуру макета для разных размеров экрана. Поэтому, если вы хотите рассмотретьReact Native
конец, то ваш макет стиля должен использоватьFlex
макет.
87. В чем разница между тегом стиля, написанным после тела и перед телом?
Обычно страницы загружаются сверху вниз. будетstyle
пометить какbody
Раньше, чтобы сначала загрузить стили.
если написано вbody
После тега, поскольку браузер анализирует html-документ построчно, при анализе таблицы стилей, написанной в конце документа, браузер останавливает предыдущую визуализацию и повторно визуализирует после того, как таблица стилей будет загружен и проанализирован. ,существуетwindows
изIE
может появиться нижеFOUC
явление (мерцание страницы).
88. Свойство overflow свойства CSS определяет, как будет обрабатываться содержимое области содержимого элемента переполнения?
- параметр
scroll
, появится полоса прокрутки; - параметр
auto
Когда содержимое дочернего элемента больше, чем содержимое родительского элемента, появляется полоса прокрутки; - параметр
visible
, переполняющее содержимое отображается за пределами родительского элемента; - параметр
hidden
Когда переполнение скрыто;
89. Что такое BFC, IFC, GFC, FFC?
-
Block formatting context(BFC)
--контекст форматирования на уровне блока; -
Inline formatting context(IFC)
-- встроенный контекст форматирования; -
Grid formatting context(GFC)
--Контекст форматирования макета сетки; -
Flex formatting context(FFC)
-- контекст адаптивного форматирования;
90. На что следует обратить внимание при использовании изображений?
- оптимизировать изображения;
- попытайся избежать
html
использовать сжатые изображения в - используйте соответствующий формат изображения;
- использовать
css sprites
Трюки по оптимизации изображений;
91. 😯 Как оптимизировать изображения и в чем разница между форматами изображений?
Оптимизация изображений:
- Нет картинок, попробуйте использовать
CSS3
заменять. Для достижения некоторых декоративных эффектов, таких как тени, закругленные углы, полупрозрачность и т. д., вы можете использоватьCSS3
Заканчивать; - По возможности используйте векторную графику
SVG
вместо растрового изображения. Для большинства шаблонов, значков и т. д. векторная графика меньше по размеру и может масштабироваться без создания нескольких наборов изображений. Большинство современных популярных браузеров имеют стабильную поддержкуSVG
.
Разница в формате изображения:
- Векторы: Иконочные шрифты, такие как
font-awesome
,svg
; - битовая карта:
GIF
,jpg(JPEG)
,png
;
Отличие векторной графики от растровой:
-
PNG
: его можно разделить на три формата:PNG8
,PNG24
,PNG32
. Следующие цифры обозначают этоPNG
Формат может индексировать и хранить не более значений цветов; -
JPG
: формат сжатого изображения с относительно сбалансированным размером и качеством. Он подходит для изображений с насыщенными цветами, которые допускают небольшое искажение, а не для изображений с простыми цветами (менее тонов), таких как значки,logo
Ждать; -
GIF
: 8-битный формат изображения без потерь. С поддержкой анимации, прозрачности индекса, сжатия и других функций. Используйте изображения с простыми цветами.
преимущество: он может гарантировать, что размер файла изображения будет максимально сжат в случае наименьшего искажения;
недостаток: Для более сложных изображений, требующих высокой точности,PNG
Хотя ее можно сжать без потерь, картинка большая и не подходит для размещения на веб-страницах;
92. Что делать, если position:fixed недействительно под мобильным телефоном?
fixed
Реализация элемента фиксирована относительно всей страницы, а при свайпе по экрану скользит весьviewport
. Исходная веб-страница все еще существует, и фиксированное местоположение не изменилось, так что это не значит, что мобильный телефон не поддерживает ее.fixed
,Толькоfixed
Элементы не закреплены относительно экрана телефона, поэтому оформляем их следующим образом:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"/>
93. Сравнение преимуществ и недостатков методов внедрения стилей CSS
- Встроенные стили: Преимущества: Простота написания, большой вес Недостатки: Нет разделения структуры и стиля;
- Встроенные стили: Преимущества: разделение структурных стилей Недостатки: не полностью разделены;
- Внешний стиль: Преимущества: Полное разделение структуры и стиля Недостатки: Перед использованием его необходимо импортировать;
94. В чем разница между border:none и border:0;?
Во-первых, разница в производительности:
-
{border:0;}
: Пучокborder
Установите 0 пикселей, хотя и не видно на странице, но нажмитеborder
Значение по умолчанию понятно, браузер все равно понимаетborder-width/border-color
Rendered, то есть значение памяти занято; -
{border:none;}
понимается какborder-style:none
.boder:0
;Сравниватьborder:none
сделать еще одинborder-width:0
, вот почемуborder:none
производительность, чемborder:0
высокий;
Различия совместимости:
-
{border:none;}
когдаborder
за“none”
кажется правильнымIE6/7
Недопустимая граница все еще существует, когдаborder
Когда это «0», ощущение лучше, чем“none”
Более эффективно все браузеры последовательно скрывают границы.
95. Что будет, если наложить друг на друга position и display, overflow, float?
-
display
Атрибут указывает тип блока, который должен генерировать элемент; -
position
Атрибут указывает тип позиционирования элемента; -
float
Атрибуты — это способ компоновки, определяющий, в каком направлении перемещается элемент;
Результаты наложения: чем-то похож на механизм приоритета.position
Значение --absolute/fixed
самый высокий приоритет, когда они есть,float
не работает,display
Значение необходимо скорректировать.float
илиabsolute
Позиционированные элементы, только блочные элементы или таблицы.
96. Что такое критический CSS?
Critical CSS
это извлечение выше сгибаCSS
технологии, чтобы как можно быстрее представить контент пользователям. Это отличный способ быстро загрузить страницу вверху сгиба.
Основная идея:
(1), извлечь домашнюю страницуCSS
;
(2), используйте встроенный стиль CSS, чтобы загрузить эту частьcss(critical CSS)
;
(3), подождите, пока страница загрузится, а затем загрузите весьcss
, будет несколькоcss
иcritical css
перекрытие;
97. Что такое рефлоу (рефлоу) и перерисовка и в чем разница?
- переплавка (перестановка),
reflow
:когдаrender tree
Некоторые (или все) элементы необходимо время от времени перестраивать из-за изменений размера, макета, скрытия и т. д. элемента; - перерисовать
(repaint
):когдаrender tree
У некоторых элементов нужно обновлять свойства, и эти свойства влияют только на внешний вид и стиль элемента, но не на макет, это называетсяперерисоватьнапример, изменение цвета и т. д.
🍀Уведомление:Каждая страница должна запускать как минимум одну перекомпоновку + перерисовку, а перекомпоновка (перекомпоновка) обязательно вызовет перерисовку.
Условия, вызывающие перестановку (перекомпоновку):
- Добавить или удалить видимые
dom
элемент; - Положение элемента изменилось;
- Изменился размер элемента, например, поля, ширина и другие геометрические свойства;
- Изменения содержимого, такие как размер изображения, изменение размера шрифта и т. д.;
- инициализация рендеринга страницы;
- Размер окна браузера изменяется, например.
resize
когда событие происходит и т.д.;
98. Какие два свойства в css позволяют тексту перекрываться по вертикали и по горизонтали?
- Вертикальное направление:
line-height
; - горизонтальное направление:
letter-spacing
;
🍀Уведомление:letter-spacing
можно также использовать для устраненияinline-block
Такие проблемы, как пробелы новой строки между элементами.
99. Каково ваше понимание и понимание стандартов WEB и W3C?
- Метка закрытая, метка строчная, вложенность не случайная;
- Улучшить поисковую вероятность поисковых роботов;
- Используйте внешние ссылки
CSS
иJS
сценарий; - Разделение меток структурного поведения;
- Загрузка файлов и страниц быстрее;
- Контент может быть доступен большему количеству пользователей и более широкому спектру устройств;
- Меньше кодов и компонентов, простота обслуживания и модификации;
- Нет необходимости перемещать содержимое страницы, а также не нужно копировать печатную версию, что повышает удобство использования сайта;
100. Счастливый конец💃🍃
На данный момент редактор надеется, что эта статья может помочь нуждающейся детской обуви, закрепить базовые знания (или просмотреть забытые знания), просмотреть старые и узнать новые вещи, а также постепенно совершенствоваться.
Напишите в конце 🌼🌼
Эта статья будет постоянно обновляться. Если в статье есть какие-то недостатки, или если малый партнер знает, что есть точки знаний, которые не написал редактор, пожалуйста, оставьте сообщение 💌💌, редактор добавит его, как только я его увижу.
Наконец, если вы чувствуете, что статья полезна для вас, пожалуйста, поддержите ее, потому что редактор недавно хотел немного обновить (она застряла в конце, действительно трудно сказать), всем спасибо. Последующие редакторы будут усерднее работать над выпуском высококачественных статей, чтобы отблагодарить нуждающихся мелких партнеров. (После публикации я чувствую, что жизнь снова стала прекрасна 🌻🌻)
возобновить:Связанныйjavascriptочки знаний были обновлены 🌈🌈