iT邦幫忙

0

css svg與 img 圖片調整

各位大大好,想請問小叮噹圖片要如何剛好對到虛線圓圈中,不管響應式視窗調整或者是放大縮小圖片跟圈圈都可以等比例放大縮小(ctrl+滾輪),如果用虛線用border是很方便的,但是他虛線的間距度無法調整..
https://jsfiddle.net/mtbw1hjz/6/
謝謝..

froce iT邦大師 1 級 ‧ 2018-07-25 21:56:25 檢舉
你svg畫的時候,要把圓心放在中間啦,要不然怎麼對齊?
上次就跟你說了。
要用css對齊還不能跑掉,不容易
建議用重疊的方式 SVG 的背景應該是透明的
你把 SVG 疊在 老師的圖片上就好了
但是要注意的一點就是,兩張圖片的長寬比必須一樣,不然有可能 SVG 都是正圓,但是老師的圖片變成橢圓
至於重疊,要用 position 來做 上一層的 先做 relative 兩張圖本身做 absolute
mayyola iT邦研究生 2 級 ‧ 2018-07-26 20:36:48 檢舉
謝謝f大~瓊斯~有大家回答真好~~
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
ccutmis
iT邦高手 2 級 ‧ 2018-07-26 14:02:21
最佳解答

剛才試了一下 你的原始SVG有些問題我作了一些改寫

<svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 500 500" style="enable-background:new 0 0 500 500;" xml:space="preserve">
<g fill="none" stroke="#C10066" stroke-width="2">
<circle cx="250" cy="250" r="250" stroke-dasharray="10,15"/>
</g>
</svg>

存檔為circle.svg
底下是一小段簡化過的html碼,放大縮小圖跟虛線能跟著變動

<!DOCTYPE html>
<html lang="zh-TW">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>test</title>
<style>
.teacherpic{
	box-sizing:border-box;
	min-height:300px;
	background:url(circle.svg);
	background-repeat:no-repeat;
	padding:25px;
      
}
.teacherpic img{
height:250px;width:250px;
box-sizing:border-box;
border-radius:50%;
}
</style>
</head>
<body>
<div id="content">
<h1>介紹</h1>
<div class="teacherpic">
<img src="http://www.ee.nsysu.edu.tw/eelab2019/images/chiu.jpg"/></div>
</div>
</body>
</html>

demo url:
http://www.web3d.url.tw/svgCircleExam/

為了簡化問題,樓主原文裡很多css跟html我都拿掉了,希望這個範例對您有幫助。
svg跟html一樣,是結構性語法,多熟悉語法才能更好的去操控它。

mayyola iT邦研究生 2 級 ‧ 2018-07-26 20:35:53 檢舉

謝謝cc大,已改善><,不過cc大怎麼知道.teacherpic的padding是用px 不是用%

padding 用 PX 是為了固定的留白空間,用%的話,會因為畫面大小而自動縮放

ccutmis iT邦高手 2 級 ‧ 2018-07-27 09:50:11 檢舉

發發發網友說的沒錯。
至於px跟%的使用時機............ 用久就知了._.

0

直接在圖片上給虛線邊框

.teacherpic img{
    border-radius:50%;
    border:3px dashed red;
}
mayyola iT邦研究生 2 級 ‧ 2018-07-25 17:33:08 檢舉

我原本也這樣做..但想要虛線邊框的間距可以改變..所以用了SVG

我要發表回答

立即登入回答