Font awesome icon button with label below

17,039

Solution 1

To place the text bellow the button, add display: block:

.my-text {
  display: block;
  font-family: "Courier-new";
}

To center your image, add a text-align:

.my-fancy-container {
  border: 1px solid #ccc;
  border-radius: 6px;
  display: inline-block;
  margin: 60px;
  padding: 10px;
  text-align: center;
}

For the arrow, add a div and this css :

<div class="arrow-down"></div>

CSS:

.arrow-down {
    width: 0; 
    height: 0; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid black;
    margin: 0 auto;
}

JSfiddle: http://jsfiddle.net/ghorg12110/3GMjp/418/

SNIPPET :

.my-fancy-container {
  border: 1px solid #ccc;
  border-radius: 6px;
  display: inline-block;
  margin: 60px;
  padding: 10px;
  text-align: center;
}

.my-text {
  display: block;
  font-family: "Courier-new";
}

.my-icon {
    vertical-align: middle;
    font-size: 40px;
}

.arrow-down {
	width: 0; 
	height: 0; 
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid black;
    margin: 0 auto;
}
<link href="http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet"/>
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet"/>
<div class="my-fancy-container">
    <span class='icon icon-file-text my-icon'></span>
    <span class="my-text">Hello World</span>
    <div class="arrow-down"></div>
</div>

Solution 2

Add display: block and text-align: center to your icon class.

Fiddle

Share:
17,039
user3142695
Author by

user3142695

People who say nothing is impossible should try gargling with their mouths closed.

Updated on June 25, 2022

Comments

  • user3142695
    user3142695 almost 2 years

    I need to create a button with a font awesome icon and a text below that icon for a navigation menu. The result should look like i.e. the icons in the MS ribbon:

    enter image description here

    I also need the arrow below of that (ie. "new"-button) for more options...

    This is how I would create the button:

    JSFiddle: http://jsfiddle.net/3GMjp/77/

    .my-fancy-container {
      display: inline-block;
      border: 1px solid #ccc;
      border-radius: 6px;
      margin: 60px;
      padding: 10px;
    }
    .my-text {
      font-family: "Courier-new";
    }
    .my-icon {
      vertical-align: middle;
      font-size: 40px;
    }
    <div class="my-fancy-container">
      <span class='icon icon-file-text my-icon'></span>
      <span class="my-text">New</span>
    </div>