📜  如何制作圆形按钮 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:24:04.685000             🧑  作者: Mango

如何制作圆形按钮 - TypeScript

在本文中,我们将使用TypeScript编写一个圆形按钮组件。我们将使用React框架来创建这个组件,同时使用styled-components库来样式化它。

步骤 1 - 创建React组件

首先,我们需要创建一个React组件。该组件将作为我们的圆形按钮组件的基础。在此示例中,我们将称其为“CircleButton”。

import React from 'react';

interface CircleButtonProps {
  onClick?: () => void;
  children: React.ReactNode;
}

export function CircleButton(props: CircleButtonProps) {
  return <button>{props.children}</button>;
}

这是一个非常简单的开始,我们建立一个按钮并接受props和onClick属性。我们使用children属性来渲染按钮的文本。

步骤 2 - 添加样式化

接下来,我们要使用styled-components来样式化我们的组件。styled-components是一个React库,它将CSS写作JavaScript字面量。让我们开始吧!

import styled from 'styled-components';

interface CircleButtonProps {
  onClick?: () => void;
  children: React.ReactNode;
}

const StyledButton = styled.button`
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  background-color: #0074d9;
  color: white;
  font-size: 2rem;
`;

export function CircleButton(props: CircleButtonProps) {
  return <StyledButton onClick={props.onClick}>{props.children}</StyledButton>;
}

我们声明StyledButton变量,它使用模板字面量来指定CSS。这不仅可以使CSS更具可读性,而且可以避免在代码中使用字符串来指定样式,这非常容易出错。

我们添加了一个50%的边界半径来创建一个圆形,同时指定按钮的宽度和高度。我们选择了一个蓝色的背景和白色的字体,这些颜色都是随意选择的。您可以根据需要更改它们。

CircleButton组件现在应该看起来像一个圆形的按钮,而不是一个方形的按钮。

步骤 3 - 添加交互

我们希望按钮具有与标准HTML按钮相同的交互方式,例如,鼠标悬停时更改背景颜色。我们将添加一些CSS效果来实现这些特性。

const StyledButton = styled.button`
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  background-color: #0074d9;
  color: white;
  font-size: 2rem;
  border: none;
  transition: all 0.3s ease;

  &:hover {
    background-color: #002f6c;
  }

  &:active {
    transform: scale(0.95);
  }
`;

我们添加了一些效果,例如悬停更改背景颜色和点击按钮时缩小。这些效果在所有现代浏览器上都可以很好地工作。

步骤 4 - 总结

现在我们已经创建了一个美观且易于使用的圆形按钮组件。你可以像这样使用它:

<CircleButton onClick={() => console.log('Button clicked')}>Click me!</CircleButton>

以上是我们如何使用TypeScript,React和styled-components创建圆形按钮的步骤。这是一个示例组件,但您可以根据需要扩展它以匹配您的应用程序。