3D-шестиугольная сетка на основе CSS не отображается должным образомHtml

Программисты Html
Ответить
Anonymous
 3D-шестиугольная сетка на основе CSS не отображается должным образом

Сообщение Anonymous »

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

Пока ничего из этого не было сделано, у меня есть сетка с большим количеством шестиугольников, с некоторыми анимациями, они упорядочены по столбцам из 4 шестиугольных блоков, мы можем добавить строки в столбцы, или мы можем добавить столбцы со строками, но они не реагируют и не упорядочиваются самостоятельно.

Вот фрагмент упомянутого выше

Код: Выделить всё

body { background-color: #171d25; }

.container {
position: relative;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
height: 500px;
-webkit-perspective: 700px;
perspective: 700px;
z-index: 10;
overflow: hidden;
}

.container .honeycomb {
display: block;
position: absolute;
margin-left: -465px;
padding-left: 18px;
left: 50%;
text-align: center;
height: 450px;
width: 930px;
-ms-transform: rotateX(45deg) rotateY(0deg);
-webkit-transform: rotateX(45deg) rotateY(0deg);
transform: rotateX(45deg) rotateY(0deg);
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-ms-transform-origin: center 65%;
-webkit-transform-origin: center 65%;
transform-origin: center 65%;
z-index: 5;
}

.container .honeycomb .column {
display: block;
float: left;
width: 62px;
}

.container .honeycomb .column:nth-child(odd) { margin-top: 36px; }

.container .honeycomb .hex {
display: block;
position: relative;
float: left;
margin: 0;
height: 72px;
width: 62px;
color: #fff;
cursor: pointer;
text-decoration: none;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
opacity: 0.5;
}

.container .honeycomb .hex:hover {
opacity: 1;
-ms-transform: translateZ(20px);
-webkit-transform: translateZ(20px);
transform: translateZ(20px);
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
}

.container .honeycomb .hex:hover .content {
filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
opacity: 1;
-ms-transform: rotateX(-90deg) translateZ(-40px) translateY(-50px);
-webkit-transform: rotateX(-90deg) translateZ(-40px) translateY(-50px);
transform: rotateX(-90deg) translateZ(-40px) translateY(-50px);
}

.container .honeycomb .hex .wrapper {
display: block;
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}

.container .honeycomb .hex .wrapper .color-1 { background: #ffbc06; }

.container .honeycomb .hex .wrapper .color-1:before { border-right-color: #ffbc06; }

.container .honeycomb .hex .wrapper .color-1:after { border-left-color: #ffbc06;  }

.container .honeycomb .hex .content {
display: block;
position: absolute;
top: 0;
left: -80px;
text-align: center;
width: 200px;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;
-moz-transition: all 0.3s ease-out 0.1s;
-o-transition: all 0.3s ease-out 0.1s;
-webkit-transition: all 0.3s ease-out;
-webkit-transition-delay: 0.1s;
-webkit-transition: all 0.3s ease-out 0.1s;
transition: all 0.3s ease-out 0.1s;
-ms-transform: rotateX(-90deg) translateZ(-40px) translateY(-40px);
-webkit-transform: rotateX(-90deg) translateZ(-40px) translateY(-40px);
transform: rotateX(-90deg) translateZ(-40px) translateY(-40px);
pointer-events: none;
-webkit-font-smoothing: antialiased;
}

.container .honeycomb .hex .content strong {
display: block;
font: 600 26px/1.1 verdana, sans-serif;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.8);
}

.container .honeycomb .hex .content small {
display: block;
font: 15px/1.1 verdana, sans-serif;
}

.container .honeycomb .shadows {
display: block;
position: absolute;
top: -15%;
left: -15%;
height: 130%;
width: 130%;
background-image: -webkit-radial-gradient(closest-side, rgba(23, 29, 37, 0), #171d25);
background-image: radial-gradient(closest-side, rgba(23, 29, 37, 0), #171d25);
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
opacity: 0.9;
-ms-transform: translateZ(10px);
-webkit-transform: translateZ(10px);
transform: translateZ(10px);
pointer-events: none;
}

.hexagon {
display: block;
position: absolute;
width: 36px;
height: 62px;
background-color: #ffffff;
}

.hexagon:before,
.hexagon:after {
content: "";
position: relative;
float: left;
border-top: 31px solid transparent;
border-bottom: 31px solid transparent;
}

.hexagon:before {
border-right: 18px solid #ffffff;
left: -18px;
}

.hexagon:after {
border-left: 18px solid #ffffff;
right: -18px;
}

.hidden { display: none; }

Код: Выделить всё

3D Hexagon Grid Layout Demo


 



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon    



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon    



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon    



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon    



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   




 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   



 [b]CSSScript[/b] i'm a hexagon   





Теперь, если бы мне нужна половина шестиугольников, я бы избавился от семи элементов div с классом 'column'... но шестигранники не будут расширяться и не центрироваться.

Вот попытка увеличить их и отобразить по центру. По сути, здесь было сделано больше квадрата, немного отрегулировано влево и вправо. значения, ничего твердого...

Кто-то сказал мне использовать запросы @media, но я не так много с ними работал... Что нужно, так это сделать сетку адаптивной, а также динамической, цель состоит в том, чтобы заставить ее работать с AngularJS с использованием ng-repeat, чтобы мы не знали количества параметров, и он упорядочит их, чтобы они выглядели красиво. Также хотелось бы знать, как сделать некоторые другие вещи, например, вставить изображение в середину шестнадцатеричного кода, отобразить изображение поверх имени шестнадцатеричного кода и, возможно, отобразить некоторую информацию с помощью анимации...

Подробнее здесь: https://stackoverflow.com/questions/315 ... -as-wanted
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»