Вы можете изменить x
(и, возможно, y
тоже) для ваших изображений и применить противоположный перевод к их соответствующие обтравочные пути.
<!-- language: lang-html -->
<svg version="1.1" id="triagnleSvg" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" preserveAspectRatio="none"
xml:space="preserve">
<clipPath id="last" clipPathUnits="objectBoundingBox" transform="translate(-200,0)">
<polygon points="1,0 .78,0 0.58,1 1,1"/>
</clipPath>
<clipPath id="first" clipPathUnits="objectBoundingBox" transform="translate(450,0)">
<polygon points="0,0 0.4,0 0.218,1 0,1"/>
</clipPath>
<clipPath id="mid" clipPathUnits="objectBoundingBox">
<polygon points="0.4,0 0.78,0 0.58,1 0.218,1"/>
</clipPath>
<image class="topImage" clip-path="url(#mid)" width="100%" height="100%" xlink:href="http://testyourprojects.net/matrix/project/stackoverflowissue/kit3.jpg"/>
<!-- top -->
<image class="leftImage" clip-path="url(#first)" width="100%" height="100%" x="-450" xlink:href="http://testyourprojects.net/matrix/project/stackoverflowissue/kit2.jpg"/>
<!-- right -->
<image class="rightImage" clip-path="url(#last)" width="100%" height="100%" x="200" xlink:href="http://testyourprojects.net/matrix/project/stackoverflowissue/kit1.jpg"/>
</svg>
Однако, если вы не фиксируя минимальную и ширину и все максимальные высоты svg
или контейнера, вы можете показать пустые части изображения за ее пределами. Вы можете установить min-height
, max-height
, min-width
или max-width
на css для svg или его контейнера.
Кроме того, поскольку отображение интересной области скорее зависит от ширины устройства/браузера, дополнительным усовершенствованием было бы автоматическое вычисление точных переводов для центрирования интересующей области сценария в зависимости от ширины пользователя.
Поблагодарите Пол за ваш ответ, с вашей идеей это немного управляется, но все еще неспособно получить точное представление для первого изображения. Я хочу показать лицо девушки. но его не происходит. –