Страницы

Поиск по вопросам

пятница, 13 марта 2020 г.

Адаптивные квадратные скобки посредством HTML и CSS

#html #css


Как сделать резиновые квадратные скобки средствами HTML и CSS? При этом необходимо,
чтобы данный блок был резиновый по ширине и высоте:


Сходу, в голову приходит только вариант с дополнительным вложенным блоком и с использованием
псевдо-элементов after и before и с абсолютным позиционирования "миниграниц-изображений".
    


Ответы

Ответ 1



Честно скопипастил с просторов) .equation { margin-left: 3em; } .matrix { display: inline-table; border: solid #000; border-width: 0 1px; border-collapse: collapse; vertical-align: middle; *display: inline; /* для IE7-, чтоб ему( */ *margin-right: .25em; /* туда же, чтоб пробелы не "съедал" */ } .matrix tr:before, .matrix tr:after { display: table-cell; content: '\a0'; width: .25em; } .matrix tr:first-child:before, .matrix tr:first-child:after { border-top: 1px solid #000; } .matrix tr+tr+tr+tr:before, .matrix tr+tr+tr+tr:after { border-bottom: 1px solid #000; } .matrix td { min-width: 1em; padding: 0 .25em; text-align: center; border: 0; } .sup, .sub { font-size: 75%; line-height: 1px; }

Выпишем расширенную матрицу коэфицентов:

A=
2 -1 2 0
0 2 -3 1
1 1 1 -1
3 2 3 -1
·
-2
10
-1
7

1-й шаг. Запишем элементарную треугольную матрицу L1 в соответствии с формулой (10) для исключения неизвестного x1 из системы:

L1=
1 0 0 0
0 1 0 0
-0.5 0 1 0
-1.5 0 0 1

Умножим эту матрицу на расширенную матрицу коэфициентов, получим матрицу после 1-ого шага:

A(1)=
1 0 0 0
0 1 0 0
-0.5 0 1 0
-1.5 0 0 1
·
2 -1 2 0
0 2 -3 1
1 1 1 -1
3 2 3 -1
·
-2
10
-1
7
=
2 -1 2 0
0 2 -3 1
0 1.5 0 -1
0 3.5 0 -1
·
-2
10
0
10

2-й шаг. Запишем элементарную треугольную матрицу L2 в соответствии с формулой (10) для исключения неизвестного x2 из системы:

L2=
1 0 0 0
0 1 0 0
0 -0.75 1 0
0 -1.75 0 1

Умножим эту матрицу на расширенную матрицу коэфициентов, получим матрицу после 2-ого шага:

A(2)=
1 0 0 0
0 1 0 0
0 -0.75 1 0
0 -1.75 0 1
·
2 -1 2 0
0 2 -3 1
0 1.5 0 -1
0 3.5 0 -1
·
-2
10
0
10
=
2 -1 2 0
0 2 -3 1
0 0 2.25 -1.75
0 0 5.25 -2.75
·
-2
10
-7.5
-7.5

3-й шаг. Запишем элементарную треугольную матрицу L3 в соответствии с формулой (10) для исключения неизвестного x3 из системы:

L3=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 -2.33 1

Умножим эту матрицу на расширенную матрицу коэфициентов, получим матрицу после 3-ого шага:

A(3)=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 -2.33 1
·
2 -1 2 0
0 2 -3 1
0 0 2.25 -1.75
0 0 5.25 -2.75
·
-2
10
-7.5
-7.5
=
2 -1 2 0
0 2 -3 1
0 0 2.25 -1.75
0 0 0 1.33
·
-2
10
-7.5
10
Вот отсюда. Обсуждение было здесь.

Ответ 2



Для получения 100% резины) Я бы использовал такие варианты: 1) Дивы display:table, а лучше flex с фоновой картинкой или img
2) Cвойство border-image с подготовленной картинкой. Генератор

Ответ 3



Нашел более красивое, а главное оптимальное, на мой взгляд, и кроссбраузерное решение: .b-matrix { position: relative; margin: 0 30px 25px 0; padding: 2px 4px; border-left: 2px solid #444; border-right: 2px solid #444; position: relative; display: inline-block; } /*-----border-----*/ .b-matrix_border:before, .b-matrix_border:after, .b-matrix__table_border:before, .b-matrix__table_border:after { position: absolute; display: block; width: 8px; height: 2px; background: #444; content: ''; } .b-matrix_border:before { top: 0; left: 0; } .b-matrix_border:after { top: 0; right: 0; } .b-matrix__table_border:before { bottom: 0; left: 0; } .b-matrix__table_border:after { bottom: 0; right: 0; } /*-----border end-----*/ .matrix-cell { display: block; width: 40px; height: 40px; border: 1px solid #ddd; text-align: center; }


Комментариев нет:

Отправить комментарий