.floor {
fill: red;
opacity: 0;
}
.floor:hover {
opacity: 0.3;
}
#walls, #door {
fill: none;
stroke: black;
stroke-width: 4;
}
<svg style="position: absolute; z-index: 100;" width="100%" height="100%">
<defs>
<path id="doorFillInvPath" d="M-1000,-1000 v2000 h2000 v-2000 h-2000
M0,0 h-50 a50,50 0 0 1 50,-50 Z"/>
<path id="doorFillPath" d="M0,0 h-50 a50,50 0 0 1 50,-50 Z"/>
<clipPath id="doorFillInv1" transform="translate(210,100) rotate(45)">
<use href="#doorFillInvPath"/>
</clipPath>
<clipPath id="doorFillInv2" transform="translate(210,200) rotate(60)">
<use href="#doorFillInvPath"/>
</clipPath>
<line id="door" x1="0" y1="0" x2="0" y2="-50"/>
</defs>
<g transform="scale(0.6) translate(10,40)">
<g class="floor">
<use href="#doorFillPath" transform="translate(210,200) rotate(60)"/>
<path id="room1" d="M10,10 h200 v250 h-200 z" stroke="none" clip-path="url(#doorFillInv1)"/>
</g>
<g class="floor">
<use href="#doorFillPath" transform="translate(210,100) rotate(45)"/>
<path id="room2" d="M210,10 h150 v100 h50 v150 h-200 z" stroke="none" clip-path="url(#doorFillInv2)"/>
</g>
<use href="#door" transform="translate(210,100) rotate(-45)"/>
<use href="#door" transform="translate(210,200) rotate(60)"/>
<path id="walls" d="M210,10 h150 v100 h50 v150 h-200 v-60 m0,-50 v-50 m0,-50 v-40 h-200 v250 h200"/>
</g>
</svg>
<p>Mouse over (i.e. hover over) each room to see the floor fills.</p>
<p style="color: #ccc;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nunc neque, molestie quis erat in, dignissim pretium nulla. Maecenas eget pretium purus. Aliquam interdum at dolor id sagittis. Phasellus risus dui, consectetur ac tortor ac, dignissim consequat felis. Maecenas lacinia ac arcu in porttitor. Duis aliquam maximus quam, vel venenatis dui. Quisque placerat ligula sit amet finibus vestibulum. Suspendisse tristique pharetra eleifend. Fusce nisl lectus, gravida vitae elit sed, vehicula condimentum orci. Sed dapibus pharetra odio ultricies egestas. Quisque pretium vehicula ante in commodo. Nulla eget turpis ac sem tristique posuere ac non diam. Aliquam at pulvinar enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nunc neque, molestie quis erat in, dignissim pretium nulla. Maecenas eget pretium purus. Aliquam interdum at dolor id sagittis. Phasellus risus dui, consectetur ac tortor ac, dignissim consequat felis. Maecenas lacinia ac arcu in porttitor. Duis aliquam maximus quam, vel venenatis dui. Quisque placerat ligula sit amet finibus vestibulum. Suspendisse tristique pharetra eleifend. Fusce nisl lectus, gravida vitae elit sed, vehicula condimentum orci. Sed dapibus pharetra odio ultricies egestas. Quisque pretium vehicula ante in commodo. Nulla eget turpis ac sem tristique posuere ac non diam. Aliquam at pulvinar enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nunc neque, molestie quis erat in, dignissim pretium nulla. Maecenas eget pretium purus. Aliquam interdum at dolor id sagittis. Phasellus risus dui, consectetur ac tortor ac, dignissim consequat felis.</p>
OMG!我很確定我可以將他們分組!你是一個拯救生命的人。如果我確實可以將它們分組,我會將其標記爲答案。你確定一個元素不會在另一個路徑上夾另一個元素嗎?我還是SVG新手。這基本上是我用過的第一個真正的項目。只是在很久以前才爲其他個人的事情搞砸了。 – Anthony
我將演示中的'rect'元素更改爲'path'元素,以表明此方法適用於所有'path'元素。 –
哦,我的上帝哥們,你真了不起。謝謝soooooo太 – Anthony