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

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

ただいまの
回答率

90.52%

  • HTML5

    4009questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    2064questions

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

  • Bootstrap

    957questions

    BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

bootstrap使用時にリンクをhoverとドラッグするとリンクのCSSが無効化される

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,178

penguin_mask

score 6

htmlでヘッダーの中にul要素とli要素を使ってナビゲーションをデザインしています
以下は重要なところだけを抜粋したコードです
railsで開発をしているのでerbを使っています

<header>
  <nav>
    <ul>
      <li class="logo"><%= link_to "TOP", '#'%></li>
      <li><%= link_to "検索", '#'%></li>
      <li><%= link_to "このサイトについて", '#'%></li>
      <li><%= link_to "ヘルプ", '#'%></li>
    </ul>
  </nav>
</header>
@import "bootstrap-sprockets";
@import "bootstrap";

/* universal */
body {
  margin: 0;
}

/* header */
nav {
  background-color: #000000;
  border-bottom: 5px solid #44D7AC;
}

ul {
  display: flex;
  flex-flow: row;
  list-style: none;
  margin: 0;
  padding: 20px 10px 0 10px;
}

li.logo {
  margin-right: auto;
}

li a {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  font-size: 14px;
  color: #fff;
}

li:hover {
  background: #21127C;
  border-radius: 10px 10px 0 0 ;
}


一見するとうまくいったかのように見えたのですが、ある問題を見つけました
それは、リンクをhoverとドラッグしたときにli要素の中のa要素のcolor: #fff;とtext-decoration: none;が効かなくなることです

hoverしたとき
イメージ説明

ドラッグしたとき
イメージ説明
(このようになってしまいます。他の場所をクリックすると元に戻ります)

何が悪さをしているのか見当がつかなかったので、bootstrapの読み込みをコメントアウトしてみたらこのようなことが起こらなくなりました
イメージ説明
イメージ説明

ヘッダーのナビゲーションでは素のhtmlとcssを使って、メインコンテンツのレスポンシブ対応でbootstrapのグリッドを使おうと思っていたのですが、bootstrapを読み込んだ状態でリンクをhoverとドラッグしてもCSSが無効化されない方法はあるのでしょうか?

  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+2

Bootstrapのバージョンについて指定がないので、今回はBootstrap 3.3.7を使用しました。

リンクをhoverとドラッグしたときにli要素の中のa要素のcolor: #fff;とtext-decoration: none;が効かなくなる

この問題の原因は、Bootstrapではaa:visiteda:focusa:hoverに対してtext-decorationプロパティunderlineが指定してあるためです。以下のようにすることでこの問題を解決できると思います。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>タイトル</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <style type="text/css">
        /* universal */
        body {
            margin: 0;
        }

        /* header */
        nav {
            background-color: #000000;
            border-bottom: 5px solid #44D7AC;
        }

        ul {
            display: flex;
            flex-flow: row;
            list-style: none;
            margin: 0;
            padding: 20px 10px 0 10px;
        }

        li.logo {
            margin-right: auto;
        }

        li a {
            display: block;
            padding: 10px 20px;
            font-size: 14px;
            color: #fff;
        }

        li:hover {
            background: #21127C;
            border-radius: 10px 10px 0 0;
        }

        /* 追記ここから */
        a, a:visited, a:focus, a:hover {
            text-decoration: none;
        }
        /* 追記ここまで */
    </style>
</head>
<body>
<header>
    <nav>
        <ul>
            <li class="logo">
                <a href="#">TOP</a>
            </li>
            <li>
                <a href="#">検索</a>
            </li>
            <li>
                <a href="#">このサイトについて</a>
            </li>
            <li>
                <a href="#">ヘルプ</a>
            </li>
        </ul>
    </nav>
</header>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/11 23:38

    追記しましたが直りませんでした

    キャンセル

  • 2017/11/11 23:47

    追記した場所のcolorを#fffに指定してあげると思った通りになりました

    キャンセル

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

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

関連した質問

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

  • HTML5

    4009questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    2064questions

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

  • Bootstrap

    957questions

    BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。