7

矢印付きの div のエラー ラベルを作成しようとしていますが、センタリングに問題があります。

私は得る:ここに画像の説明を入力

次のようなものが必要です:ここに画像の説明を入力

HTML:

<div class="error-label-arrow"></div>
<div class="error-label">This field is required.</div>

CSS:

div.error-label{
    padding: 7px 10px 0 4px;
    color: #fff;
    background-color: #DA362A;
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px; 
    border-radius: 5px;
}

div.error-label-arrow{
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent; 
    border-right:10px solid #DA362A;
    float: left;
}

出来ますか?

ここにフィドルがあります

4

3 に答える 3

22

CSS 疑似クラスを使用してこれを行うことができるため、「矢印」要素は必要ありません。

div.error-label {
  padding: 10px;
  color: #fff;
  background-color: #DA362A;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  width: 190px;
  margin: 30px;
}

div.error-label:before {
  content: ' ';
  height: 0;
  position: absolute;
  width: 0;
  left: 18px;
  border: 10px solid transparent;
  border-right-color: #DA362A;
}
<div class="error-label">This field is required.</div>

于 2013-02-11T09:11:52.253 に答える
3

ここに解決策があります

div.error-label{
    padding: 7px 10px 0 4px;
    color: #fff;
    background-color: #DA362A;
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px; 
    border-radius: 5px;
    width: 150px;
    margin-left: 5px;
}

div.error-label-arrow{
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent; 
    border-right:10px solid #DA362A;
    float: left;
    height: 1px;
    margin-top: 3px;
}
<div class="error-label-arrow"></div>
<div class="error-label">This field is required.</div>

于 2013-02-11T09:09:19.113 に答える