2016-12-25 3 views
4

우선이 질문을할만한 곳이 아니라면 사과드립니다. Q/A에 대한 다른 정보원을 모르겠습니다.builtbybuffalo.com과 같은 육각형 그리드 만들기

저는 웹 개발자에게 실질적인 패스를 제공하기 위해 this Site의 정확한 복제본을 제출해야하는 대학 프로젝트가 있습니다.

나는 모든 것을 복사 할 수 있으며 남은 것은 hexagonal grid입니다.

누군가가 사이트를 방문 할 수 있다면 number of hexagons per row changes according to width of browser window을 볼 수 있습니다.

여기

.container { 
 
    margin-top: 120px; 
 
} 
 
.hex-3-row { 
 
    display: table; 
 
    margin: 30px auto; 
 
} 
 
.hex { 
 
    display: inline-block; 
 
    width: 190px; 
 
    height: 110px; 
 
    color: white; 
 
    background-color: red; 
 
    position: relative; 
 
    margin-left: 15px; 
 
    z-index: 110; 
 
    text-align: center; 
 
    line-height: 110px; 
 
} 
 
.hex::after { 
 
    content: ""; 
 
    background-color: red; 
 
    height: 110px; 
 
    width: 190px; 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    transform: rotate(60deg); 
 
    z-index: -1; 
 
} 
 
.hex::before { 
 
    content: ""; 
 
    background-color: red; 
 
    height: 110px; 
 
    width: 190px; 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    transform: rotate(-60deg); 
 
    z-index: -1; 
 
} 
 
img { 
 
    position: relative; 
 
    height: 150px; 
 
    width: 150px; 
 
    top: 50%; 
 
    transform: translateY(-50%); 
 
}
<html> 
 

 
<head> 
 
    <title>hexagon</title> 
 
    <link rel="stylesheet" href="css.css"> 
 
</head> 
 

 
<body> 
 

 
    <div class="container"> 
 
    <div class="hex-3-row"> 
 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 
    </div> 
 

 
    <div class="hex-3-row"> 
 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 

 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 
    </div> 
 

 
    <div class="hex-3-row"> 
 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 

 
     <div class="hex"> 
 
     <img src="arrow.png" alt="image"> 
 
     </div> 
 
    </div> 
 
    </div> 
 

 

 

 

 

 
</body> 
 

 
</html>
지금 내가 관리 격자 전체 너비에 그들의 같은 비트를 찾고 내 그리드
CSS에 대한 코드와 HTML입니다. 하지만 어떻게 대응할 수 있습니까? 폭에 따라 행 당 육각형 수를 변경합니까? 나는 그들의 소스 코드도 읽으려고했지만 트릭을하기 위해 <br>을 사용하고 있다는 것을 제외하고는 속임수를 알 수는 없었다. 그러나 나는 단지 관리 할 수 ​​없다.

누군가가 올바른 방향으로 나를 가리킬 수 있고 이와 같은 고급 CSS를 배우기위한 소스를 공유 할 수 있다면 정말 감사 할 것입니다. 많은 분들께 감사드립니다.

는 이미 this thread에서 해결책을 시도했지만 내가 무엇을 찾고있어 <div> <br> 및 구성 요소,하지 <ul><li>를 사용하여, 단지 builtbybuffalo.com들처럼 할 수있는 솔루션입니다했습니다.

+3

는 잘 모르겠지만, 어쩌면 그들은이 육각형 격자 레이아웃을 만들기 위해 플러그인을 사용했을 것입니다. 유사한 레이아웃의 데모가 있습니다. 아마도 도움이 될 것입니다. http://stackoverflow.com/questions/26114920/responsive-grid-of-hexagons –

+0

http://codepen.io/gc-nomade에서 살펴볼 수 있습니다./펜/eyntg, 한 번 stackoverflow에 대한 비슷한 질문에 대한 데모했다. –

+0

@TeutaKoraqi 그들은 플러그인을 사용하고 있지 않다. 나는 그 Hexagon 그리드의 CSS와 HTML만을 복사했고, 어떤 jQuery/Javascript도없이 작동했다. :) –

답변

1

이것은 기본적으로 수정 된 행 분리 요소가있는 표준 열 레이아웃입니다. (그들은 이것에 대해 br을 사용하고 있지만 올바른 스타일을 가진 요소 일 수 있습니다.) 몇 가지 중단 점이 있으며 셀의 클래스 스타일과 중단 요소는 사용 된 중단 점에 따라 변경됩니다. 중단 요소는 행을 중단해야하는 지점에 있으며 클래스에 설정된 클래스는 해당 중단 요소를 사용하는 중단 점을 제어합니다.

사용자가 그대로 행을 그룹화하지 않습니다. 본질적으로 어떤 중단 점이 활성화되어 있는지에 따라 표시되거나 숨겨진 신중하게 배치 된 분리 요소가있는 요소의 단일 행이 있습니다.

+0

예, 요소의 단일 행을 사용하고 있습니다. 나는 그것도 시도했지만, 직면 한 문제는 ** 그 단일 행에서 나는 인라인 요소 인 것처럼 여백을 줄 수 없다는 것을 의미한다. 샘플 코드를 제공하는 데 많은 어려움을 겪지 않으셨습니까? :) –

+1

버팔로 페이지에서, 그들은 육체 정렬을 얻기 위해'body'에'text-align : center'를 사용합니다. 그것들은 또한 break 요소가있는 것과 같은 방식으로 필요할 때 숨겨진 최종 행의 끝을위한 투명 필러 요소를 가지고 있습니다. 동일한 기술을 사용하여 간단한 예제 [here] (https://jsfiddle.net/wzkbrhhL/)를 만들었습니다. 662px에는 단 하나의 중단 점이 있습니다. 그와 관련된 대부분의 것들은 CSS의 바닥을 향하고 있습니다. 그들이 사용하는 기술은 일반적인 것이 아니며 대신 페이지의 내용에 맞춰 조정됩니다. – Ouroborus

+0

그래, 나는 그것을 시도했다. 나는'text-align : center'가'text' 이외의 것을 정렬하는 데 사용될 수 있다는 것을 결코 알지 못했습니다. :) –

1
당신은 UI 예를 size.For 화면에 따라 수정하도록이 responsive.You 다른 화면 크기에 대해 서로 다른 스타일을 지정할 수 있도록 미디어 쿼리를 작성할 수

,

@media screen and (max-width: 768px) { 
.container{ 
width:500px; 
} 
} 
+0

예, 이미 시도했지만 컨테이너의 크기를 변경하면 필요한 동작을 얻을 수 없습니다. –

+0

이 링크는 https://codepen.io/gpyne/pen/iElhp에서 참조 할 수 있습니다. –