나는 높이가 다르더라도 모두 같은 간격을 둘 수 있는 그리드와 같은 시스템 을 만들어야하는 웹 사이트에서 작업 div.cons
하고 있습니다.
이것은 내가 작업하고있는 현재 코드 ( jsfiddle mirror )입니다.
html, body {
position:relative;
}
html {
background-color:#FFF;
}
* {
margin:0;
padding:0;
font-family:'Open Sans', sans-serif;
font-weight:400;
color:#333;
}
p, a, h1, h2, h3, h4,h5, h6, li, td, th, div,img {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
p, h1, h2, h3, h4,h5, h6, li, td, th, div,img {
cursor:default;
}
p, a, li, td, th, div {
font-size:12px;
}
div.nav > ul li > p,
div.nav > ul li > a,
a {
font-family:inherit;
font-weight:inherit;
font-size:inherit;
text-decoration:none;
color:inherit;
}
div.wrapper {
width:510px;
min-height:200px;
height:auto;
overflow:auto;
position:relative;
margin:auto auto;
}
div.wrapper > div.con {
width:250px;
height:auto;
overflow:auto;
position:relative;
float:left;
margin-top:10px;
}
div.wrapper > div.con.odd {
margin-right:10px;
}
div.wrapper > div.con > h1.title,
div.wrapper > div.con > p.content {
display:block;
padding:5px 10px;
}
div.wrapper > div.con > h1.title {
margin-bottom:20px;
background-color:#000;
font-weight:700;
font-size:14px;
text-transform:uppercase;
color:#FFF;
}
div.wrapper > div.con > p.content {
font-size:12px;
text-align:center;
}
div.wrapper > div.con > div.opt {
height:auto;
overflow:auto;
margin-top:20px;
background-color:#000;
}
div.wrapper > div.con > div.opt > ul {
height:auto;
overflow:auto;
list-style-type:none;
}
div.wrapper > div.con > div.opt > ul > li {
display:inline-block;
font-weight:700;
font-size:10px;
text-transform:uppercase;
color:#FFF;
}
div.wrapper > div.con > div.opt > ul > li > a {
display:block;
padding:2px 5px;
}
div.wrapper > div.con > div.opt > ul > li > a:hover {
color:rgba(255,255,255,0.75);
}
<div class="wrapper">
<div class="con odd">
<h1 class="title">
Aenean id nulla nibh. Nam.
</h1>
<p class="content">
Etiam vestibulum, ex vitae dapibus imperdiet, massa risus finibus ex, ut faucibus dolor ex eget mi. Praesent lectus diam, imperdiet eget gravida eget, pulvinar vitae dolor. Nam nunc lorem, cursus eget nisl in, pretium aliquet libero. Cum sociis cras amet.
</p>
<div class="opt">
<ul>
<li><a href="#">Perm Link</a></li>
<li><a href="#">Report</a></li>
</ul>
</div>
</div>
<div class="con">
<h1 class="title">
Aenean id nulla nibh. Nam.
</h1>
<p class="content">
Aenean convallis, felis ac luctus dictum, nisi risus convallis enim, ac condimentum quam mi ac dui. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis et sed.
</p>
<div class="opt">
<ul>
<li><a href="#">Perm Link</a></li>
<li><a href="#">Report</a></li>
</ul>
</div>
</div>
<div class="con odd">
<h1 class="title">
Aenean id nulla nibh. Nam.
</h1>
<p class="content">
Ut at suscipit sem. Mauris quis sollicitudin enim. Sed eu ante id massa vestibulum cursus. Phasellus mollis ullamcorper maximus. Curabitur eu fermentum arcu. Vestibulum placerat a dolor vel vulputate. Praesent leo lectus, vulputate posuere.
</p>
<div class="opt">
<ul>
<li><a href="#">Perm Link</a></li>
<li><a href="#">Report</a></li>
</ul>
</div>
</div>
<div class="con">
<h1 class="title">
Praesent aliquet leo ut lacus ornare, ac venenatis lacus gravida.
</h1>
<p class="content">
Pellentesque consequat sapien nec sapien volutpat iaculis. In at est dapibus, scelerisque purus sed.
</p>
<div class="opt">
<ul>
<li><a href="#">Perm Link</a></li>
<li><a href="#">Report</a></li>
</ul>
</div>
</div>
내가 의미하는 바의 예시 이미지 :
왼쪽에있는 첫 번째 빨간색 화살표는 간격이되어야합니다. 오른쪽에있는 두 번째 빨간색 화살표는 제가 겪고있는 문제입니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
Pinterest와 유사한 벽돌 스타일의 레이아웃을 만들려고하십니까? 그렇다면 이 튜토리얼 은 정확한 방법을 보여줄 것입니다. 여기에 .
데모 마크 업은 다음과 같습니다.
<div class="masonry">
<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<div class="item">Neque, vitae, fugiat, libero corrupti officiis sint facilis tempora quidem repudiandae praesentium odit similique adipisci aut.</div>
<div class="item">Incidunt sit unde minima in nostrum?</div>
<div class="item">Ducimus, voluptates, modi, delectus animi maiores consequuntur repellat quisquam fugiat eum possimus enim culpa totam praesentium magni quae!</div>
<div class="item">Lorem ipsum dolor sit amet, dicta dolore adipisci hic ipsam velit deleniti possimus cumque accusantium rerum quibusdam.</div>
<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, praesentium consequatur ducimus commodi quam ex illo omnis dicta reiciendis vel nesciunt deserunt aut sequi nam mollitia perferendis ipsam possimus temporibus!</div>
<div class="item">Ab, adipisci, temporibus eaque quis harum perferendis incidunt cupiditate doloribus dolor numquam voluptates ipsum dolore aspernatur et voluptate ipsam beatae animi culpa.</div>
</div>
이제 우리는 CSS 속성을 활용 column-count
하고 column-gap
있는이 레이아웃의 열 수를 결정하기 위해 부모 요소에 적용됩니다 :
.masonry { /* Masonry container */
-moz-column-count: 4;
-webkit-column-count: 4;
column-count: 4;
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
column-gap: 1em;
}
그런 다음이 스타일을 각 어린이에게 적용해야합니다.
.item { /* Masonry bricks or child elements */
display: inline-block;
margin: 0 0 1em;
width: 100%;
}
이 튜토리얼은 또한 이전 브라우저 를위한 JS 폴백에 대한 링크를 제공 합니다.
그리고 이것이 Masonry 스타일의 레이아웃을 만드는 데 필요한 전부입니다. :)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다