Я не думаю, что есть способ сделать это с помощью чистого HTML / CSS без какой-либо внешней графики.Могут быть некоторые умные хаки, использующие методы, на которые вы ссылаетесь в вопросе, но они будут просто - умные хаки - поэтому, вероятно, не лучше всего подходят для использования на живом веб-сайте (и, как и в случае большинства «умных хаков», также, вероятно,по крайней мере, с некоторыми проблемами совместимости между браузерами).
Вы можете сделать это с помощью Canvas или SVG.
Canvas - это функция растровой графики и часть спецификации HTML5.SVG - это язык векторной графики, который можно использовать на HTML-странице.
Обе они являются функциями современных браузеров, и поэтому, к сожалению, отсутствуют в большинстве версий Internet Explorer (IE8 и более ранних версий).
Однако, к счастью, IE поддерживает язык, похожий на SVG, называемый VML, и существует ряд библиотек javacript, которые позволяют IE использовать Canvas и SVG путем преобразования их в VML.
См. Также:
Используя любой из вышеперечисленных инструментов, вы можете использовать Canvas или SVG, чтобы нарисовать гексагональную (или любую другую) фигуру, и заполнить ее графикой.
Надеюсь, это поможет.