<a href=“”> 링크를 버튼처럼 보이게하는 방법은 무엇입니까?


100

이 버튼 이미지가 있습니다.
여기에 이미지 설명 입력

<a href="">some words</a>그 링크가 그 버튼으로 나타나 도록 심플 하고 스타일리쉬 하게 만들 수 있을까?

가능하다면 어떻게해야합니까?




5
사용자는 웹 인터페이스의 모양을 통해 그 동작이 무엇인지 알아야합니다. 따라서 단추 모양을 링크로 사용해서는 안되며 링크의 시각적 모양을 단추로 사용해서는 안됩니다.
Antagonist 2011

2
일반적으로 버튼에 대해 하나 이상의 이미지가 필요합니다 : 표준, 마우스 오버, 누름, 활성. 그렇지 않으면 자연스럽지 않습니다.
user123444555621

cursor: pointer;커서가 가리키는 검지 손가락으로 손을 연결하는 것처럼 보이도록 CSS를 추가하는 것이 좋습니다. 이것은 일반 버튼에서도 발생하고 사용자에게 유용한 도움이되기 때문입니다.
R. Schreurs

답변:


107

CSS 사용 :

.button {
    display: block;
    width: 115px;
    height: 25px;
    background: #4E9CAF;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    line-height: 25px;
}
<a class="button">Add Problem</a>

http://jsfiddle.net/GCwQu/


이것은 내가 a태그에 직접 적용하는 경우에만 작동합니다 ( a {display: block ...}), 허용되지 않습니다. 태그 class내부의 속성 a이 작동하지 않는 이유를 알고 있습니까? :( 저는 Firefox 27을 사용 a.button {...}하고 있습니다. 저도 시도했지만 작동하지 않습니다.
just_a_girl 2014

4
부트 스트랩을 사용하는 경우 <a class="btn btn-info"> </a>를 수행하고 기존 부트 스트랩 스타일을 사용하고 새 스타일을 정의하지 않을 수 있습니다.
stcorbett

당신이 당신의 버튼에 밑줄을받을 경우, 추가text-decoration:none
Rohit Chemburkar

99

Bootstrap의 문서를 확인하십시오 . 클래스 .btn가 존재하고 a태그 와 함께 작동 하지만 .btn-*클래스와 함께 특정 클래스 를 추가해야합니다 .btn.

예 : <a class="btn btn-info"></a>


1
큰. 나는 부트 스트랩을 사용했는데, 그 몰랐다 P
펠리페 Carminati

13
최신 버전의 부트 스트랩에서는 btn 클래스가있는 특정 btn- * 클래스가 필요합니다. 예 : <a class="btn btn-info"> </a>
stcorbett

15

이렇게 링크로 버튼을 쉽게 감쌀 수 있습니다. <a href="#"> <button>my button </button> </a>


18
아니 HTML5 유효 친구
hamstar

1
이것에 대한 사양을 변경해야합니다. 그것은 나에게 가장 의미가 있습니다.
Lonnie Best

14

다음은 버튼과 비슷합니다.

a.LinkButton {
  border-style: solid;
  border-width : 1px 1px 1px 1px;
  text-decoration : none;
  padding : 4px;
  border-color : #000000
}

예제는 http://jsfiddle.net/r7v5c/1/ 를 참조하십시오 .


1
테두리 반경 추가 : 5px; 모양을 완성 할 것입니다.
vdbuilder 2011

10
  1. 이 시도:

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    <div class="container">
      <h2>Button Tags</h2>
      <a href="#" class="btn btn-info" role="button">Link Button</a>
      <button type="button" class="btn btn-info">Button</button>
      <input type="button" class="btn btn-info" value="Input Button">
      <input type="submit" class="btn btn-info" value="Submit Button">
    </div>

  2. href거기에서 태그 라인을 사용할 수 있습니다 .

    <a href="URL" class="btn btn-info" role="button">Button Text</a>

5

CSS로 특정 디자인을 하드 코딩하는 것을 피하고 싶지만 브라우저의 기본 버튼에 의존하려면 다음 CSS를 사용할 수 있습니다.

a.button {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

IE에서는 작동하지 않을 것입니다.


현재 브라우저 지원 상태는 caniuse.com/#feat=css-appearance를 참조하십시오 . 브라우저는 appearance: button기본 버튼과 다르게 렌더링 될 수 있습니다 (적어도 Chrome 78에서 방금 확인했을 때).
SOLO

이것은 정확히 내가 찾던 것이지만 특히 <a>크롬 에서는 작동하지 않습니다 . 그것을 테스트했고 <span>잘 작동했습니다.
Hashbrown

4

다른 답변은 링크 버튼이 마우스 오버시 모양을 변경하는 코드를 표시하지 않습니다.

이것은 내가 그것을 고치기 위해 한 일입니다.

HTML :

<a href="http://www.google.com" class="link_button2">My button</a>

CSS :

.link_button2 {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: solid 1px #1A4575;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  background: #3A68A1;
  color: #fee1cc;
  text-decoration: none;
  padding: 8px 12px;
  text-decoration: none;
  font-size: larger;
}

a.link_button2:hover {
  text-decoration: underline;
  background: #4479BA;
  border: solid 1px #20538D;

  /* optional different shadow on hover
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.7);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
  */

}

JSFiddle : https://jsfiddle.net/adamovic/ovu3k0cj/


2
  • 태그 background-image에 CSS 속성 사용<a>
  • 설정 display:block및 조정 widthheightCSS에

이것은 트릭을 할 것입니다.


1

네, 할 수 있습니다.

다음은 예입니다.

a{
    background:IMAGE-URL;
    display:block;
    height:IMAGE-HEIGHT;
    width:IMAGE-WIDTH;
}

물론 필요에 따라 위의 예를 수정할 수 있습니다. 중요한 것은 블록 ( display:block) 또는 인라인 블록 ( display:inline-block)으로 표시되도록하는 것입니다 .


디스플레이를 유지해야합니다 : 인라인; 대신에 높이와 폭을 사용하고, 당신은 앵커의 크기 조정 패딩 및 줄 높이를 사용한다
길항제

@Antagonist : OP는 이미지를 배경으로 원하고 그는 아마도 항상 같은 이미지를 사용할 것이기 때문에 왜 그가 그 이미지의 특정 높이와 너비를 사용하지 말아야하는지 모르겠습니다. 그러나 OP는 모든 제안 된 솔루션을 시도하고 그에게 가장 잘 보이는 솔루션을 선택할 것이라고 생각합니다.
r0skar

내가 말하고있는 것은 다른 CSS 속성을 사용하여 동일한 것을 달성하고 원래 디스플레이 속성을 인라인으로 유지하는 것입니다.
Antagonist

1

기본 HTML의 경우 HREF (A) 내의 이미지 URL에 src가 설정된 img 태그를 추가하면됩니다.

<a href="http://www.google.com"><img src="http://problemio.com/img/ui/add_problem.png" /></a>

1

단추로 표시 할 앵커 요소에 대한 클래스를 만들 수 있습니다.

예 :

이미지 사용 :

.button {
   display:block;
   background: url('image');
   width: same as image
   height: same as image
}

또는 순수한 CSS 접근 방식을 사용합니다.

.button {
    background:#E3E3E3;
    border: 1px solid #BBBBBB;
    border-radius: 3px 3px 3px 3px;
}

항상 다음과 같이 텍스트를 숨기는 것을 잊지 마십시오.

text-indent: -9999em;

순수한 CSS 버튼의 훌륭한 갤러리가 여기 있으며 css3 버튼 생성기를 사용할 수도 있습니다.

다양한 스타일과 선택이 여기에 있습니다.

행운을 빕니다


1

일관성을위한 두 가지 옵션이 있습니다.

  1. 프레임 워크 별 태그를 사용하고 웹 사이트 전체에서 사용합니다.
  2. JavaScript를 사용하여 버튼 요소의 링크를 에뮬레이트 한 다음 버튼이 브라우저의 버튼 모양과 일치하도록합니다. CSS 버튼 모양의 해킹은 절대 정확하지 않습니다.

.

<button onclick="location.href = 'Homepage.html'; return false;">My Button</button>

return false; 버튼이 클릭되는 기본 동작을 방지하는 것입니다.


1

일반적인 CSS 버튼 디자인을 사용하고 해당 CSS를 링크에 적용하면됩니다 (버튼에 적용하는 것과 똑같은 방식으로).

예:

<a href="#" class="stylish-button">Some words</a>

<style type="text/css">
.stylish-button {
    -webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
    -moz-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
    box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
    color:#333;
    background-color:#FA2;
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border:none;
    font-size:16px;
    font-weight:700;
    padding:4px 16px;
    text-shadow:#FE6 0 1px 0
}
</style>

나는 과거 프로젝트에서 이것을 해왔고 IE는 행동을 거부합니다. 이 코드를 테스트했지만 더 많은 타당성이 필요한 우려를 말하고 싶습니다.
MEM

0

활성 및 초점을 추가 한 후 문제가있는 사람들을 위해 버튼에 클래스 또는 ID 이름을 제공하고 이것을 CSS에 추가하십시오.

예를 들면

// html 코드

<button id="aboutus">ABOUT US</button>

// css 코드

#aboutus{background-color: white;border:none;outline-style: none;}

-1

Chromium 40 및 Firefox 36에서 테스트 됨

<a href="url" style="text-decoration:none">
   <input type="button" value="click me!"/>
</a>

1
유효한 HTML이 아닙니다.
Javier

-1

이 코드를 시도하십시오.

<code>

    <a href="#" class="button" > HOME </a>

    <style type="text/css">

        .button { background-color: #00CCFF; padding: 8px 16px; display: inline-block; text-decoration: none; color: #FFFFFF border-radius: 3px;}

        .button:hover { background-color: #0066FF; }

    </style>

</code>

이것을 시청하십시오 (방법을 설명합니다) -https : //youtu.be/euti4HAJJfk


StackOverflow에 오신 것을 환영합니다! 게시물에 모든 관련 코드를 포함하고 포함하고 외부 웹 사이트에 대한 링크 만 포함 하지 마십시오 . 링크는 추가 정보 에 유용하지만 게시물은 다른 리소스와 분리되어야합니다. 링크가 변경되거나 "사용 중지"될 수 있습니다. 동료 프로그래머는 귀하의 답변에서 직접 질문에 자세히 설명 된 문제를 해결할 수 있어야합니다.
Zachary Espiritu

-3

다음과 같이 간단합니다.

<a href="#" class="btn btn-success" role="button">link</a>

"class ="btn btn-success "및 role = button 만 추가하면됩니다.


1
이 질문에는 부트 스트랩 태그가 없습니다. class="btn btn-success"부트 스트랩 클래스입니다.
element11
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.