タイトル下のシェアアイコン

Simplicityの特徴 フォーラム 不具合報告 タイトル下のシェアアイコン

9件の返信スレッドを表示中
  • 投稿者
    投稿
    • #23473
      hisa
      ゲスト

      スマホ(iPhone4,iphone5)でタイトル下のシェアアイコンが最大で6個しか並びません。
      幅の問題かとも思いましたが、記事下のシェアアイコンは7個並んでいます。

      自分でスタイルを多少調整しているせいかと思ったのですが、他の方のブログでも同じ症状のようです。

      http://www.mojo-hand.com/wordpress/iphone/2827.html
      スミマセン。他の方のブログですが、別のトピックでURLが記載されていたので、例に使わせて頂きます。

      chromeのエミュレーションで見てみるとiphone6では問題無いようですが、Galaxy S4にしてみると上が7個で下が8個になりました。

      不具合という程のことでも無いのですが、気になったのでご連絡させて頂きました。

    • #23476
      hidekichi
      ゲスト

      原因で言うと、
      iphone5で、class=”snsb clearfix snsbs” の幅が300pxで、この子要素のliの横幅が37px+7px(margin)で42pxですから、7つ入る計算なのですがliの子要素のaに対してbox-sizingが入っていないので、わずかに線幅も計算とかして6つで折り返しているんだろうと言うふうに思います。

      なので、解決策はいくつかありますが、

      ・シェアアイコンが入っているulの幅を取る。ネガティブマージンを入れたり色々
      ・ul.snsbs li a に対して、box-sizing:border-box;を入れ、width,height共に35pxにする
      ・#sns-group-top li あたりの margin-right:7px; を 5pxにする
      ・jQuery等で端末の画面幅を出して最適なマージンを算出する
      ・flexboxでcssを作り直す

      これらがパッと思いついた解決策です。上記上から3つは端末の画面サイズによってアイコンが並ぶ数が変わるだろうと思います。
      jQueryで画面幅から最適なマージンを算出すると言うのは一番思い通りでにできる方法ですが、やや面倒臭い。
      簡単なのはflexboxでアイコンの間隔をブラウザが自動計算すると言うのが応用も聞いて最も良いと思います。ただし、flexbox等は対応していない端末があるため、そのあたりをどうするかが問題でしょうか。現状でモダンブラウザはたいていイケルはずですがIEが問題となる可能性が高いです。
      スマホはandroidかiosだろうと思うので、ベンダープレフィックスをつければたいていイケルはずです。
      仮に、6つしか並ばなくてもあるいは7つ、8つと並んだとしてもflexboxであればスペースは等間隔になります。つまりmargin-rightで開けているスペースはいらなくなるということです。

      #sns-group-top ul {
        padding: 0;
        /* line-height: 20px; */
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        height: auto;
      }
      
      #sns-group-top li {
        /* margin-right: 5px; */
        min-width: 40px;
        max-width: 60px;
        flex: 0 14%; /* 14%は li の幅です良い感じのスペースに調整して下さい */
      }
      
      ul.snsbs li a {
        color: #fff;
        text-decoration: none;
        font-size: 25px;
        background-color: #000;
        display: block;
        padding: 7px 6px 3px 6px;
        border-radius: 5px;
        width: 25px;
        height: 30px;
        position: relative;
        text-align: center;
        margin: 0 auto;
      }
      
      ul.snsbs li {
        /* padding-right: 0; */
      }
      
      ul.snsbs li {
        /* margin-right: 5px; */
        margin-bottom: 5px;
      }
      
      .snsb li {
        /* float: left; */
        list-style-type: none;
        /* margin-right: 7px; */
      }

      こんな感じです。(いくつか抜けているかも)。ベンダープレフィックスをお忘れなく。

      最も簡単なのは「#sns-group-top li あたりの margin-right:7px; を 5pxにする」だろうと思います。

    • #23477
      hidekichi
      ゲスト

      またもや投稿してから気がついた(滝汗

      応用も聞いて最も良いと思います ☓
      応用も効いて最も良いと思います ◯

      本当は、flex: 0 14%;よりも、 flex:1; と言うのがflexboxらしいと言えばそうなのですが、できるだけオリジナル通りに再現できるような配慮でこうなってます。
      また1から設計しなおせば、バイラルにするのもmedia-queryに対して僅かな変更で済みます。
      幅の狭い端末では、 flex-flow: column wrap;にして、flex:1 50%(横2列)とかもボタンの押し間違い等がなくなる良い方法かも知れません。

      参考:
      flexplorer
      CSS flexible box の利用

    • #23478
      hidekichi
      ゲスト

      もうひとつ参考までに

      #sns-group-top ul {
        padding: 0;
        /* line-height: 20px; */
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        height: auto;
      }
      
      #sns-group-top li {
        /* margin-right: 5px; */
        /* min-width: 40px; */
        /* max-width: 60px; */
        flex: 1 auto;
      }

      これもお試し下さい。

    • #23489
      アバター画像わいひら
      キーマスター

      hisaさん、hidekichiさんありがとうございます!
      後で詳細を確認して、直せるようなら修正したいと思います。

    • #23490
      アバター画像わいひら
      キーマスター

      最も簡単なのは「#sns-group-top li あたりの margin-right:7px; を 5pxにする」だろうと思います。

      確かに自分でも、なんでこんな設定を追加したのか全然覚えていない…。

      恥ずかしながら、display: flex;、flex-flow、justify-contentとか初めて使うので、紹介していただいたページを読んで勉強してみます。

    • #23491
      hidekichi
      ゲスト

      今現在、うちのサイト(blazechariot)もflexboxで実験的にcssを修正しています。

      firefoxで難があり、直そうとしていた所、レンタルサーバーの何かしらのトラブル(最長1週間ぐらいかかるらしい(笑)で、現在更新ができない状態なので中途半端なことになっていますが、いくつかflexboxの記事も書いたので何かの参考になれば。
      色々やり過ぎてて参考にならない部分が多いですけれども(笑)

    • #23495
      アバター画像わいひら
      キーマスター

      ありがとうございます!
      今回、flexboxというのを初めて知りました。記事を読んで勉強させてもらいます。

    • #23543
      hidekichi
      ゲスト

      こっそりとわかりやすいページを追加しておきます。

      Flexbox Layout

    • #23564
      アバター画像わいひら
      キーマスター

      こっち、サンプルがあってめっちゃわかりやすいですね。
      ありがとうございます!

9件の返信スレッドを表示中
  • このトピックに返信するにはログインが必要です。
スポンサーリンク
アドセンス(大)
アドセンス(大)