当我尝试仅使用百分比制作圆形图像时,它只是失败。
为什么要这么做? ,因为这将允许我创建高度模块化的函数来处理元素的大小,并使它们同时响应。
>在这里我的沙盒:https://stackblitz.com/edit/react-kkbyff
这是我的reactjs片段:
const generateStyle=(sizeReference)=>{
let unity="%" // FAIL TO MAKE CIRCULE WHEN I USE PERCENTAGES HERE
// console.log(sizeReference+unity)
return {
height:sizeReference+unity,
width:sizeReference+unity,
borderRadius:(sizeReference/2)+unity
}
}
function App() {
return (
<div className="photo_slider">
<div className="pic1">
<img
src="https://wallpapercave.com/wp/Nduz52P.jpg"
alt="awesome_image"
style={generateStyle(30)}
/>
</div>
<div className="pic2">
<img
src="https://wallpapercave.com/wp/5MsoNXS.jpg"
alt="awesome_image"
style={generateStyle(15)}
/>
</div>
<div className="pic3">
<img
src="https://wallpapercave.com/wp/Nduz52P.jpg"
alt="awesome_image"
style={generateStyle(80)}
/>
</div>
<div className="pic4">
<img
src="https://wallpapercave.com/wp/5MsoNXS.jpg"
alt="awesome_image"
style={generateStyle(35)}
/>
</div>
<div className="pic5">
<img
src="https://wallpapercave.com/wp/Nduz52P.jpg"
alt="awesome_image"
style={generateStyle(60)}
/>
</div>
</div>
);
}
CSS:
.photo_slider{
width:100%;
height:100%;
display:flex;
justify-content: center;
align-items: center;
background: beige;
}
如何仅使用百分比制作圆形图像?
任何提示都会很棒, 谢谢
答案 0 :(得分:1)
我假设您只是希望所有图像都显示为圆圈。
更改此
borderRadius:(sizeReference/2)+unity
对此
borderRadius: "50%"
对于真圆,仅将sizeReference用作宽度和高度。
答案 1 :(得分:0)
采用css
方式
由于即使使用borderRadius: "50%"
,非正方形图像也不会形成圆形
实现此目的的最佳方法是将图像放置在方形容器内,并在容器上声明borderRadius: "50%"; overflow: "hidden"
。