ячейки шестиугольной формы в html [дубликаты]

Есть ли способ создать HTML-блок, представляющий собой шестиугольную сетку? Похож на пчелиный улей. Это больше похоже на задачу по стилю css.


person Abu    schedule 03.09.2010    source источник
comment
Этот связанный вопрос Сетка шестиугольников с тегом ‹img› показывает способ достижения вашей цели. .   -  person web-tiki    schedule 26.11.2014


Ответы (3)


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

Пример: http://jsfiddle.net/pAGJG/

Таким образом, вы можете сделать <div class="hexagon"> с верхним треугольником, средней частью и нижним треугольником, а также сделать несколько шестиугольников.

ИЗМЕНИТЬ:

Обновленный пример: http://jsfiddle.net/rRDby/

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

РЕДАКТИРОВАНИЕ №2: Стью, по-видимому, уже что-то сделал @ http://www.cssplay.co.uk/menus/hexagon.html

person meder omuraliev    schedule 03.09.2010
comment
Может ли downvoter объяснить себя? - person meder omuraliev; 04.09.2010
comment
+1 за Стью! Есть ли что-нибудь, чего человек не сделал? :-) - person Potherca; 14.10.2011
comment
Эти ссылки показывают, как сделать треугольники или отдельные шестиугольники, но вопрос задан для шестигранной сетки, как мед. См. ответ @ScottS - person Rich; 06.05.2013

Ознакомьтесь с работой Тантека Челика 2001 года: он создает шестиугольник (наряду с другими формами ) из HTML и CSS. Эрик Мейер также затронул тему «наклонов» здесь. У Лассе Райхштейна Нильсена есть простое руководство, а также пошаговое руководство по созданию других фигур, которые могут быть полезны.

person Cal Jacobson    schedule 03.09.2010

Просто собираюсь бросить этот ответ - я сомневаюсь, что он правильный, но формулировка ОП расплывчата, и, честно говоря, мне не нравятся два других ответа - они чувствуют себя неловко как хаки.

Если единственная причина, по которой вам нужна «шестиугольная сетка», — это фон, то вы можете использовать простую мозаику фона CSS, чтобы получить обычную шестиугольную сетку.

Взяв мозаичное изображение следующим образом:

альтернативный текст

Затем вы можете разбить простой CSS:

background: url('hex-tile.png');

и это должно повторяться аккуратно, чтобы сформировать «шестиугольную сетку». Пример: http://jsfiddle.net/MqyHv/1/

person Yi Jiang    schedule 03.09.2010
comment
.. но что, если вам нужно поместить текст в каждую ячейку? Я думаю, что это то, к чему был задан вопрос. - person Rich; 06.05.2013