размер шрифта: 0; может быть немного сложнее управлять ...
Я думаю, что следующие пары строк намного лучше и более пригодны для повторного использования, а также для экономии времени, чем любые другие методы. Я лично использую это:
.inline-block-wrapper>.inline-block-wrapper,
.inline-block-wrapper{letter-spacing: -4px;}
.inline-block-wrapper>*{letter-spacing: 0;display: inline-block;}
/* OR better shorter name...*/
.items>.items,
.items{letter-spacing: -4px;}
.items>*{letter-spacing: 0;display: inline-block;}
Тогда вы можете использовать его как следующий ...
- Item 1
- Item 2
- Item 3
Насколько я знаю (я могу ошибаться), но все браузеры поддерживаем этот метод.
ОБЪЯСНЕНИЕ:
Это работает (возможно, может быть, возможно, -3px) в точности так, как вы ожидали, что он будет работать.
class="items"
в родительском блоке каждого встроенного блока. У вас не будет необходимости вернуться к css и добавить еще одно правило css для ваших новых встроенных блоков.
Решение сразу двух проблем.
Также обратите внимание на >
(больше знака) это означает, что * / все дети должны быть встроенными блоками.
ПРИМЕЧАНИЕ. Я изменил приспосабливаться к наследованию разметки букв, когда оболочка имеет дочернюю оболочку.
В соответствии с этой страницей и моей текущей реализацией аппаратных средств в моей игре правильный способ заключается в том, что атрибут mat4
занимает 4 места атрибутов. Тот, который вы связываете, и следующие три.
int pos = glGetAttribLocation(shader_instancedarrays.program, "transformmatrix");
int pos1 = pos + 0;
int pos2 = pos + 1;
int pos3 = pos + 2;
int pos4 = pos + 3;
glEnableVertexAttribArray(pos1);
glEnableVertexAttribArray(pos2);
glEnableVertexAttribArray(pos3);
glEnableVertexAttribArray(pos4);
glBindBuffer(GL_ARRAY_BUFFER, VBO_containing_matrices);
glVertexAttribPointer(pos1, 4, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 4 * 4, (void*)(0));
glVertexAttribPointer(pos2, 4, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 4 * 4, (void*)(sizeof(float) * 4));
glVertexAttribPointer(pos3, 4, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 4 * 4, (void*)(sizeof(float) * 8));
glVertexAttribPointer(pos4, 4, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 4 * 4, (void*)(sizeof(float) * 12));
glVertexAttribDivisor(pos1, 1);
glVertexAttribDivisor(pos2, 1);
glVertexAttribDivisor(pos3, 1);
glVertexAttribDivisor(pos4, 1);