1. CSS написать квадрат адаптивного размера
Код:
<style type="text/css">
以图片为例
background 写法
.img{
width: 100%;
height: 0;
padding-bottom: 100%; //关键所在
overflow: hidden;
background:url(../res/images/haha.png) center/100% 100% no-repeat;
}
.img img{
width: 100%;
}
img 写法
.img{
position: relative;
width: 100%;
height: 0;
padding-bottom: 100%; //关键所在
overflow: hidden;
}
.img img{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
</style>
<div class="img"></div>
Изображение эффекта:
принцип:
элементальpadding
Процентное значение четырех значений рассчитывается на основе ширины текущего элемента.
padding
только взятьtop
илиbottom
, значение адаптивного квадрата должно быть таким же, как и ширина.Конечно, другие прямоугольники других пропорций можно получить, задав отступы разных пропорций
2. Несколько столбцов и одинаковая высота
Код:
<style type="text/css">
.web_width{
width: 100%;
overflow: hidden; //关键所在
}
.left{
float: left;
width: 20%;
min-height: 10em;
background: #66afe9;
padding-bottom: 2000px; //关键所在
margin-bottom: -2000px; //关键所在
}
.right{
float: right;
width: 80%;
height: 20em;
background: #f00;
}
</style>
Изображение эффекта:
принцип:
метод компенсации заполнения
Добавьте положительное значение к элементу с небольшой высотойpadding-bottom
и отрицательное значениеmargin-bottom
Затем добавьте к родителюoverflow: hidden
Скрыть дочерние элементы за пределамиpadding-bottom
Примечание:
-
padding-bottom、margin-bottom
Сумма должна быть равна 0 (рекомендуемое значение не должно быть слишком большим, достаточно) - кодовая единица нейтронного подэлемента
em
Это сделано для того, чтобы сделать эффект gif более очевидным.
(Получил это в своих заметках, использовал это для решения многих проблем с макетом)
3. Нарисуйте треугольник
код
<style type="text/css">
.demo {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid red;
}
</style>
Изображение эффекта:
принцип:
с помощью блочной моделиborder
Атрибуты
Примечание:
- когда коробочная модель
width/height
Когда он равен 0,border
Форма сторон – треугольник, задав только три стороныborder
, а нарисованный треугольник примыкает к двум сторонамborder
Цвет установлен наtransparent
, и, наконец, регулируяborder-width
нарисуй нужные тебе треугольники
Подробный адрес для рисования треугольников
В-четвертых, скрыть полосу прокрутки (это относительно скучно, в основном потому, что в то время была необходимость ее скрыть)
код
<style type="text/css">
* {
margin: 0;
padding: 0
}
section {
width: 300px;
height: 500px;
margin: 20px auto;
overflow: hidden;
}
div {
width: calc(100% + 20px);
height: 100%;
overflow-x: hidden;
overflow-y: auto;
}
p {
width: 100%;
height: 200px;
background: #999;
overflow: hidden
}
p:nth-child(2n){
background: #f60;
}
</style>
<section>
<div>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
</div>
</section>
Изображение эффекта:
принцип:
Родительский элемент частично скрыт и будет прокручивать элементwidth
за пределами родительского элементаwidth
, чтобы скрыть полосу прокрутки
5. Тот же цвет бордюрного шрифта (2018.06.06)
код
<style>
#app {
width: 200px;
height: 200px;
color: #000;
font-size: 30px;
/*方案一*/
border: 50px solid currentColor;
/*方案二*/
border: 50px solid;
/*或*/
border-width: 50px;
border-style: solid;
}
</style>
Изображение эффекта:
принцип:
- Вариант 1: CSS3
currentColor
Указывает текущий цвет текста - Вариант 2:
border
Значение по умолчанию (начальное) равноcurrentColor
, что можно записать непосредственно какborder: 50px solid
; пропуститьcolor
значение
currentColor-CSS3 супер-уровень средней школы, простая в использовании переменная CSS
6. Отображение иерархической структуры узлов (2018.06.11)
Можно сказать, что это действительно странный навык, нечего сказать, служит
Код:
/*手动添加*/
* { background-color: rgba(255,0,0,.2); }
* * { background-color: rgba(0,255,0,.2); }
* * * { background-color: rgba(0,0,255,.2); }
* * * * { background-color: rgba(255,0,255,.2); }
* * * * * { background-color: rgba(0,255,255,.2); }
* * * * * * { background-color: rgba(255,255,0,.2); }
/*JS添加 在控制台运行*/
const m_style = document.createElement('style');
const m_style_text = '*{background-color:rgba(255,0,0,.2)}* *{background-color:rgba(0,255,0,.2)}* * *{background-color:rgba(0,0,255,.2)}* * * *{background-color:rgba(255,0,255,.2)}* * * * *{background-color:rgba(0,255,255,.2)}* * * * * *{background-color:rgba(255,255,0,.2)}';
m_style.appendChild(document.createTextNode(m_style_text));
document.getElementsByTagName('head')[0].appendChild(m_style)
Эффект
Обоснование: селекторы подстановочных знаков CSS (*
) селектор с селектором потомков
Что я видел на Скучной Шуйжиху - оригинальный адрес
Вышеупомянутое содержание взято из резюме наступившего на яму, чтобы найти план. Если вам это не нравится, не распыляйте его. Спасибо за сотрудничество.
Если у вас есть другие полезные советы, поделитесь ими в комментариях.
Примечание: Советы, упомянутые в области комментариев, будут добавлены после завершения теста. В конце концов, вы должны быть осторожны при размещении сообщений, и вы не можете просто использовать опыт воды небрежно. Братья и сестры, не будьте в торопиться.