2017-11-07 1 views
0

콘텐츠가 포함 된 div가 있습니다. 언젠가는 다른 일을 거의 포함하지 않을 수도 있습니다. 그것이 매일 가지고있는 한가지는 4 svg의 모퉁이입니다. 내용에 관계없이 svg는 항상 구석에 있어야합니다.상위 div의 각 구석에 SVG를 CSS로 배치 하시겠습니까?

내 문제는 내가 그들에게 올바른 위치에 머물도록 할 수 없다는 것입니다. 나는 그들에게 div의 "절대"로 점프하는 절대적인 속성을 부여합니다. 여기

Here is an example easy to play around with

는 포토 Here is a picture explaining the request

HTML

<div style='background-color:#fffff0; text-align-last: center;'> 
    <h1>Photos</h1> 
    <p>preview</p> 

    <svg class='svgCorner svgCornerTL' id='svg4' viewBox='0 0 150 150'>    
    <path id='path1' d='M0 150L150 150L0 0'/> 
    </svg> 

    <svg class='svgCorner svgCornerTR' id='svg4' viewBox='0 0 150 150'>    
    <path id='path1' d='M0 150L150 150L0 0'/> 
    </svg> 

    <svg class='svgCorner svgCornerBL' id='svg4' viewBox='0 0 150 150'>    
    <path id='path1' d='M0 150L150 150L0 0'/> 
    </svg> 

    <svg class='svgCorner svgCornerBR' id='svg4' viewBox='0 0 150 150'>    
    <path id='path1' d='M0 150L150 150L0 0'/> 
    </svg> 

</div> 

CSS (불완전/실수) 요청

설명되고 div 적절한 top, rightabsolute 위치를 사용하여 부모에
.svgCorner { 
    fill: #ff0000; 
    width: 7%; 
} 

.svgCornerBL{ 

} 

.svgCornerBR{ 
    -ms-transform: rotate(270deg); /* IE 9 */ 
    -webkit-transform: rotate(270deg); /* Chrome, Safari, Opera */ 
    transform: rotate(270deg); 
} 

.svgCornerTL{ 
    -ms-transform: rotate(180deg); /* IE 9 */ 
    -webkit-transform: rotate(180deg); /* Chrome, Safari, Opera */ 
    transform: rotate(180deg); 
} 

.svgCornerTR{ 
    -ms-transform: rotate(90deg); /* IE 9 */ 
    -webkit-transform: rotate(90deg); /* Chrome, Safari, Opera */ 
    transform: rotate(90deg); 
} 

답변

1

사용 position: relative 같은 bottom & left 값 : 부모의 div

:

<div style='background-color:#fffff0; text-align-last: center; position: relative;'> 
    ... 
</div> 

SVGs 경우 :

.svgCornerBL{ 
    position: absolute; 
    bottom: 0; 
    left: 0; 
} 

.svgCornerBR { 
    position: absolute; 
    bottom: 0; 
    right: 0; 
} 

.svgCornerTL{ 
    position: absolute; 
    top: 0; 
    right: 0; 
} 

.svgCornerTR{ 
    position: absolute; 
    top: 0; 
    left: 0; 
} 

아래의 코드 조각에서 보라 :

.svgCorner { 
 
    fill: #ff0000; 
 
    width: 7%; 
 
} 
 

 
.svgCornerBL{ 
 
    position: absolute; 
 
    bottom: 0; 
 
    left: 0; 
 
} 
 

 
.svgCornerBR { 
 
    position: absolute; 
 
    bottom: 0; 
 
    right: 0; 
 
    -ms-transform: rotate(270deg); /* IE 9 */ 
 
    -webkit-transform: rotate(270deg); /* Chrome, Safari, Opera */ 
 
    transform: rotate(270deg); 
 
} 
 

 
.svgCornerTL{ 
 
    position: absolute; 
 
    top: 0; 
 
    right: 0; 
 
    -ms-transform: rotate(180deg); /* IE 9 */ 
 
    -webkit-transform: rotate(180deg); /* Chrome, Safari, Opera */ 
 
    transform: rotate(180deg); 
 
} 
 

 
.svgCornerTR{ 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    -ms-transform: rotate(90deg); /* IE 9 */ 
 
    -webkit-transform: rotate(90deg); /* Chrome, Safari, Opera */ 
 
    transform: rotate(90deg); 
 
}
<div style='background-color:#fffff0; text-align-last: center; position: relative;'> 
 
    <h1>Photos</h1> 
 
    <p>preview</p> 
 

 
    <svg class='svgCorner svgCornerTL' id='svg4' viewBox='0 0 150 150'>    
 
    <path id='path1' d='M0 150L150 150L0 0'/> 
 
    </svg> 
 

 
    <svg class='svgCorner svgCornerTR' id='svg4' viewBox='0 0 150 150'>    
 
    <path id='path1' d='M0 150L150 150L0 0'/> 
 
    </svg> 
 

 
    <svg class='svgCorner svgCornerBL' id='svg4' viewBox='0 0 150 150'>    
 
    <path id='path1' d='M0 150L150 150L0 0'/> 
 
    </svg> 
 

 
    <svg class='svgCorner svgCornerBR' id='svg4' viewBox='0 0 150 150'>    
 
    <path id='path1' d='M0 150L150 150L0 0'/> 
 
    </svg> 
 

 
</div>

희망이 도움이!

+0

예. 정확히 무엇이 필요한가요? 위쪽, 아래쪽, 오른쪽, 왼쪽 = 0에 대해 알고 있었지만 내 svg 's는 "position : relative; 고마워요! –

+0

예 @RasmusPuls. 그게 내 기쁨이야. –

0
Hello I have what you need, 

Best Regards.. 

    <div style='background-color:#fffff0; text-align-last: center;  position: relative; min-height:200px;'> 
    <h1>Photos</h1> 
    <p>preview</p> 
    <div class="svg-container-TL"> 
    <svg class='svgCorner svgCornerTR' id='svg4' viewBox='0 0 150 150'> 
     <path id='path1' d='M0 150L150 150L0 0' /> 
    </svg> 
    </div> 
    <div class="svg-container-TR"> 
    <svg class='svgCorner svgCornerTL' id='svg4' viewBox='0 0 150 150'> 
     <path id='path1' d='M0 150L150 150L0 0' /> 
    </svg> 
    </div> 

    <div class="svg-container-BL"> 
    <svg class='svgCorner svgCornerBL' id='svg4' viewBox='0 0 150 150'> 
     <path id='path1' d='M0 150L150 150L0 0' /> 
    </svg> 
    </div> 

    <div class="svg-container-BR"> 
    <svg class='svgCorner svgCornerBR' id='svg4' viewBox='0 0 150 150'> 
     <path id='path1' d='M0 150L150 150L0 0' /> 
    </svg> 
    </div> 
</div> 

    .svgCorner { 
     fill: #ff0000; 
     width: 100%; 
    } 
    .svgCornerBL {} 

    .svgCornerBR { 
     -ms-transform: rotate(270deg); 
     /* IE 9 */ 
     -webkit-transform: rotate(270deg); 
     /* Chrome, Safari, Opera */ 
     transform: rotate(270deg); 
    } 

    .svgCornerTL { 
     -ms-transform: rotate(180deg); 
     /* IE 9 */ 
     -webkit-transform: rotate(180deg); 
     /* Chrome, Safari, Opera */ 
     transform: rotate(180deg); 
    } 

    .svgCornerTR { 
     -ms-transform: rotate(90deg); 
     /* IE 9 */ 
     -webkit-transform: rotate(90deg); 
     /* Chrome, Safari, Opera */ 
     transform: rotate(90deg); 
    } 

    .svg-container-TL { 
     width: 7%; 
     position: absolute; 
     left: 0; 
     top: 0; 
    } 

    .svg-container-TR { 
     width: 7%; 
     position: absolute; 
     right: 0; 
     top: 0; 
    } 

    .svg-container-BL { 
     width: 7%; 
     position: absolute; 
     left: 0; 
     bottom: 0; 
    } 

    .svg-container-BR { 
     width: 7%; 
     position: absolute; 
     right: 0; 
     bottom: 0; 
    } 
+0

감사! 나는 다른 대답에 대해 언급했다. 그 "작은"위치 : 부모 div의 친척은 세계를 차이로 만들었습니다. –

+0

정확 하 게 설계 할 때 그것은 훌륭한 솔루션입니다. –

관련 문제