質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.34%

  • CSS3

    2207questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

css3 border-image / border-color 反映がうまくいかない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 900

kotori_00

score 38

<解決したいこと>

border-imageでli要素の左右に画像を表示させ、同じli要素(ページと閲覧のみ)の下はborder-colorで色を透明の表示にしたいのですが、うまくいきません。
ノート、編集、履歴表示のみborder-bottom-colorを入れたいです。

サンプルキャプチャ こんな風にしたいです

イメージ説明

<div id="page-main-menu">
   <form name="" id="search">
      <input type="text" placeholder="Wikipedia内を検索" id="search-text"><input type="image" src="search.svg" id="search-img">
   </form>    
   <ul class="page-contents-left">
      <li>ページ
   <li><a href="#">ノート</a>
   </ul>
   <ul class="page-menu-right">
      <li>閲覧
      <li><a href="#">編集</a>
      <li><a href="#">履歴表示</a>
   </ul>
</div><!--/#page-main-menu-->
#page-main-menu{
    overflow: auto;
    padding-bottom: 11px;
    margin-bottom: -1px; /*borderを重ねる*/
    height: 25px;
}

#page-main-menu ul {
    background-image: linear-gradient(#fff 20%, #eaf3f8 100%);
}

#page-main-menu li:first-child {
    background-color: #fff;
        /*ノートと閲覧のborder-bottomのみ透明にしたい。*/
    border-bottom-color: transparent;
}

#page-main-menu li:last-child { 
     /*li要素の右側のみにborder-imageを入れたい*/
    border-image: url("border-blue.png") 1;
    border-style: solid;
    border-image-width: 0 1px 0 0; 
}


#page-main-menu li {
     /*li要素の左のみborder-imageを入れる*/
    border-image: url("border-blue.png") 1;
    border-image-width: 0 0 0 1px;
    border-style: solid;
        /*ノート、編集、履歴表示の下のみborder-colorを入れたい*/
    border-bottom: 1px solid red;

    line-height: 25px;
    font-size: 14px;
    padding: 5px;
    margin: 0;
    display: inline-block;
}

.page-contents-left{
    float: left;
}


.page-menu-right{
    float: right;
}

キャプチャ 現在の状態

イメージ説明

試したこと

ベンダープレフィックスを試してみてもうまく反映されません。
border-widthをborder-image-widthや
border-imageをborder-image-sourceに
書き換えてみてもうまく表示されませんでした。

#page-main-menu li:last-child { 
     /*li要素の右側のみにborder-imageを入れたい*/
    border-image-source: url("border-blue.png");
    border-style: solid;
    border-width: 0 1px 0 0; 
        -webkit-border-image: url("border-blue.png") 1 round;
    -webkit-border-style: solid;
    -webkit-border-width: 0 1px 0 0;
}


#page-main-menu li {
     /*li要素の左のみborder-imageを入れる*/
    border-image-source: url("border-blue.png");
    border-width: 0 0 0 1px;
    border-style: solid;
        -webkit-border-image-source: url("border-blue.png");
    -webkit-border-width: 0 0 0 1px;
    -webkit-border-style: solid;
        /*ノート、編集、履歴表示の下のみborder-colorを入れたい*/
    border-bottom: 1px solid red;
}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

border-image ではなく background-image で実装するようにすれば良いような気がします。

【CSSで背景画像を複数設定する | cly7796.net】
http://cly7796.net/wp/css/sets-a-plurality-of-background-image-in-css/

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/19 10:40

    回答ありがとうございます。
    以下記述で解決することができました!!*・゜゚・*:.。..。.:*・'(*゚▽゚*)'・*:.。. .。.:*・゜゚・*

    #page-main-menu li:last-child {
    background-image: url("border-blue.png"), url("border-blue.png");
    background-position: left, right;
    background-repeat: no-repeat, no-repeat;
    }

    #page-main-menu li {
    background-image: url("border-blue.png");
    background-position: left;
    background-repeat: no-repeat;
    border-bottom: 1px solid #a7d7f9;
    line-height: 25px;
    font-size: 14px;
    padding: 5px;
    margin: 0;
    display: inline-block;
    }

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • CSS3

    2207questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。