CSS を使用してテキストの周囲にコンテンツを挿入する

巴扎黑
リリース: 2017-07-18 17:23:11
オリジナル
1269 人が閲覧しました

テキストの周囲にコンテンツを挿入するための CSS ソリューション

この記事では、テキストの周囲にアイコンを挿入する方法、アイコン間の位置関係を制御する方法、および HTML 構造の合理性と CSS 属性の使用を通じてさまざまなソリューションの実装を比較する方法について説明します。効果のメリットとデメリット。

共通のデザインドラフト要件

  • テキストの前後、上、下にアイコン、線、三角形、円を挿入します

  • 挿入された要素はテキストと間隔をあけて配置する必要があります(中央、上、ベースライン)などの位置関係。

倫理的知識

  • 表示や背景などの属性を柔軟に使用

  • コンテンツを挿入するには、content 属性で :before:after を使用します。

    :before:after配合content属性来实现插入内容。

  • 通过absolute、vertical、margin、line-height等属性实现文本与符号位置关系。

  • 能够使用CSS属性画出的图形则用CSS属性,否则用background属性显示背景图片

实践操作

  • 解法一:改变HTML结构,通过在文本元素前或后增加标签如<span></span><i></i>

  • 解法二:直接使用伪元素:before和:after(Ie7以下不支持)

    • 必须有content属性

    • 插入的元素的是内联元素,需要显示地定义为块级元素,才能设置高度,填充,边距等

线条

CSS を使用してテキストの周囲にコンテンツを挿入する
CSS を使用してテキストの周囲にコンテンツを挿入する

html
<div class="article-block-title">
    <h2 class="title">
        <span>前端技术</span><i>前端技术前端技术</i>
    </h2>
</div>
ログイン後にコピー
css
.article-block-title {
    height: 44px;
    /*实现文本与竖线对齐*/
    line-height: 44px;
    border-left: 3px solid #72b16a;
    padding-left: 20px;
}
ログイン後にコピー
分析
  • 直接利用该文本的容器使用border-left、border-right、border-top、border-bottom可以分别实现只显示文本上、下、左、右的线条。

  • 对于inline,inline-block等,可使用line-height实现文本与竖线的居中。

CSS を使用してテキストの周囲にコンテンツを挿入する

html
<p class="text-info">
    <i class="line line-left"></i>resto restaurant home page website template<i class="line line-right"></i>
</p>
ログイン後にコピー
css
.text-info .line {
    display: inline-block;
    width: 40px;
    border-top: 1px solid #fff;
    /*使横线居中*/
    vertical-align: middle;
    /*for IE7*/
    *margin-top: 22px;
}
ログイン後にコピー
分析
  • 在文本前后添加ispan

  • 絶対、垂直、マージン、行の高さなどの属性を通じて、テキストとシンボルの位置関係を実現します。
  • CSS属性を使用して描画できるグラフィックはCSS属性を使用し、そうでない場合はbackground属性を使用して背景画像を表示します
    • 実際の操作
    • 解決策1: テキストの前後にタグを追加してHTML構造を変更します<span></span><i></i> などの要素

解決策 2: 疑似要素を直接使用します。および: 後 (Ie7 以降ではサポートされません)

content 属性が必要です
    挿入された要素は
  • インライン要素

    であり、これを行うには、

    ブロックレベル要素
  • として明示的に定義する必要があります高さ、パディング、マージンなどを設定します。
Line

CSS を使用してテキストの周囲にコンテンツを挿入する

CSS を使用してテキストの周囲にコンテンツを挿入するCSS を使用してテキストの周囲にコンテンツを挿入する

html
<div class="menu-tips">The menu</div>
ログイン後にコピー
css
.menu-tips:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 0;
    height: 0;
    /*menu是156px宽,所以这里设置78px*/
    border-left: 78px solid transparent;
    border-right: 78px solid transparent;
    border-bottom: 10px solid #fff;
}
ログイン後にコピー
分析
  • テキストを使用してコンテナを直接使用する border-left 、 border-right 、 border-top 、および border-bottom は、それぞれテキストの上、下、左、右の行のみを表示できます。

  • インライン、インラインブロックなどの場合、行の高さを使用してテキストと垂直線を中央揃えにすることができます。

    • CSS を使用してテキストの周囲にコンテンツを挿入する
    • html

      <div class="btn-group">
          <a href="" class="btn"></a>
          <a href="" class="btn active"></a>
          <a href="" class="btn"></a>
          <a href="" class="btn"></a>
      </div>
      ログイン後にコピー
    • css
    • .index-panel-header .btn-group {
          float: right;
          /*清除行内元素的4px空白间距*/
          font-size: 0;
      }
      
      .index-panel-header .btn {
          display: inline-block;
          margin-left: 11px;
          width: 9px;
          height: 9px;
          background: #dedede;
          /*画圆*/
          -moz-border-radius: 5px; /* Firefox */
          -webkit-border-radius: 5px; /* Safari 和 Chrome  */
          border-radius:5px; /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 */
          /*for ie7、8*/
          position: relative;
          z-index:2;
          behavior: url(../ie-css3.htc); /* 通知IE浏览器调用脚本作用于'btn'类 */
      }
      ログイン後にコピー

    テキストの前後に i タグと span タグを追加すると、疑似要素: before と :after を使用するよりも明確になります。
  1. vertical-align:middle は、行とテキストの垂直方向の中央揃えを実現します。
この属性はie7では無効です

margin-topを使用して実装できます(前提条件は親要素の高さを知っていることですCSS を使用してテキストの周囲にコンテンツを挿入する

html
    <div class="star-bar">
        <span class="star"></span>
        <span class="star"></span>
        <span class="star"></span>
        <span class="star"></span>
        <span class="star nostar"></span>
    </div>
    ログイン後にコピー
  • css

    .star-bar {
        font-size: 0px;
    }
    
    .star {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin-right: 5px;
        background: url("../images/index-star.png") no-repeat;
    }
    
    .nostar {
        background-position: 0 -10px;
    }
    ログイン後にコピー
    )分析
  • 合格 三角形を実装するために、透明属性がボーダーとともに使用されます
    • :before と :after を「前」または「後」だけでなく、任意の位置に挿入するために使用できることに注意してください。右側の行を「ボランティアになる」のすぐ下に配置できるようにします。ボタンは連続しているため、border-radius のプロパティを使用してください。

    border-radius は IE8 以降では使用できず、強制する必要があります。
      トリック 1: 画像の背景を
    • に置き換える トリック 2: スクリプト ie- css3.htc を呼び出して、IE ブラウザーが css3 属性をサポートできるようにします
    🎜 現在の要素には、position:relative やなどの位置決め属性が必要です。位置:絶対属性🎜🎜🎜🎜 z-index 値は周囲の要素より大きくなければなりません🎜🎜🎜🎜🎜カスタムアイコン🎜🎜🎜🎜🎜html🎜rrreee🎜css🎜rrreee🎜分析🎜 🎜 🎜🎜background 属性を使用して画像を表示する、評価やその他の要件の実践例をいくつか紹介します 🎜🎜🎜 🎜 知識を広げる 🎜🎜🎜🎜 要素を中央に配置する方法については、チートツールを使用します: 要素を中央に配置する方法 🎜🎜🎜🎜まとめ 🎜🎜🎜🎜複数のアイコンシンボルが連続している場合は、HTMLタグを使用します。 🎜🎜🎜🎜単一のシンボルを挿入するには、互換性を考慮せずに疑似要素>を使用します。

    以上がCSS を使用してテキストの周囲にコンテンツを挿入するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート