2014-12-17 2 views
0

I가 HTML 코드에서 자신의 순서를 변경하지 않고 이미지에 표시된 DIV 요소를 배치하는 방법 다음 HTML 코드html 코드에서 순서를 변경하지 않고 div 요소를 정렬하는 방법은 무엇입니까?

<div class="holder"> 
    <div class="left"> DIV1 </div> 

    <div class="right"> DIV2 </div> 

    <div class="right"> DIV3 </div> 

    <div class="right"> DIV4 </div> 

    <div class="left"> DIV5 </div> 

    <div class="right"> DIV6 </div> 
</div> 

?

enter image description here

+2

주의하십시오. "소스 순서가 시각적 순서와 일치하면 모든 사람이 내용을 읽고 같은 (올바른) 순서로 내용을 읽습니다." 이 정보는 http://www.w3.org/TR/WCAG20-TECHS/C27.html – danielnixon

+0

좋습니다. 고맙습니다. – Serg

답변

0

간단한 CSS를 사용하여 div의 위치를 ​​조작 할 수 있습니다. http://jsfiddle.net/7uwzccs1/

HTML

<div class="holder"> 
<div class="left1"> DIV1 </div> 

<div class="right"> DIV2 </div> 

<div class="right"> DIV3 </div> 

<div class="right"> DIV4 </div> 

<div class="left2"> DIV5 </div> 

<div class="right"> DIV6 </div> 
</div> 

CSS

.left1{ 
    position: absolute; 
} 

.left2{ 
    position: absolute; 
    left: 8px; 
    top: 25px; 
} 

.right{ 
    position: relative; 
    left: 100px; 
} 
1

나는이 최선의 방법이 아닌 다른 사람이 어떤 지점에서 코드를 편집 될 경우 혼란 스러울 수도 danielnixon에 동의합니다. 나는 좀 더 직관적으로 만들기 위해 .left 및 됐지 클래스하여 HTML을 정렬 좋을 것 :

<div class="holder"> 
<div class="left"> DIV1 </div> 

<div class="left"> DIV5 </div> 

<div class="right"> DIV2 </div> 

<div class="right"> DIV3 </div> 

<div class="right"> DIV4 </div> 

<div class="right"> DIV6 </div> 
난 당신이 div의 플로트하는 것입니다 달성하고자하는 무엇을 가장 짧은 경로를 생각한다 와 CSS 그래서 같은 :

.left { 
float: left; 
clear: left; 
} 

.right { 
float: right; 
clear: right; 
} 

DEMO : 당신이 함께 가까이 된 div를 이동하려면 http://jsfiddle.net/xzgs61uw/2/

또한, 단순히 CSS A의 .holder 만들 너비를 제한하십시오. 예 :

.holder { 
width: 200px; 
} 

희망이 있습니다.

+0

물론 원본 HTML 구조를 그대로 두는 것도 효과적입니다. –

+0

당신이 Krispy를 회신 해 주셔서 감사합니다. 그러나 몇 가지 이유로 제 경우에 투명하고 플로트를 사용하는 것이 적합하지 않습니다 (http://jsfiddle.net/o8hpzhyz/). 그래서 나는 NKD (http://jsfiddle.net/0oxdxx2c/)의 대답을 받아 들였습니다. – Serg

0

를 사용하여 명확하고 각 클래스에 대한 CSS에서 속성을 떠 예를 들면 다음과 같습니다. JS Fiddle

.left{ 
    float: left; 
    clear: left; 
} 
.right{ 
    float: right; 
    clear: right; 
} 
관련 문제