javascript - 如何在 CSS 中仅使用百分比创建圆形图像?

标签 javascript css

当我尝试仅使用百分比制作圆形图像时,它就失败了。

为什么我想要那个?因为它可以让我创建高度模块化的函数来处理我的元素的大小,并使它们同时响应。

这是我的沙箱: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;
}

如何仅使用百分比制作圆形图像?

任何提示都会很棒, 谢谢

最佳答案

我假设您只是希望所有图像都显示为圆圈。

改变这个

borderRadius:(sizeReference/2)+unity

对此

borderRadius: "50%"

对于真正的圆,仅使用 sizeReference 作为宽度和高度。

关于javascript - 如何在 CSS 中仅使用百分比创建圆形图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516683/

相关文章:

javascript - JQuery 选择下拉列表中最接近的 tr 选择

javascript - 在鼠标事件的 for 循环中赋值

javascript - 我如何更改谷歌图表中气泡的大小?

javascript - 如何阻止 HighCharts 在图形区域之外绘制额外的 'tick'?

javascript - 为什么这个跨度在文本上方?我想要它在文字旁边

javascript - 我可以指定一个配置文件,让用 electron-builder 编译的可执行文件在打包后可以访问吗?

CSS 转换在 Messenger 应用程序中翻译

html - 如何在 Bootstrap popover 插件中使用容器参数

jquery - 新页面打开后,事件类未保留在 mvc3 Bootstrap 导航栏中的选定列表项上

javascript - 如何有条件地将div转换为多次按下同一按钮的状态