2018年3月19日月曜日

Slide Proのスライダーが2枚の場合の不具合をスマートフォンにも対応

今回はSlide Proのスライダーが2枚の時、右フリックの挙動に不具合がでていたので
下記記事を参考にさせていただき修正したのですが、
スマートフォンに対応させるためレスポンシブ対応などでブレイクポイントを設定していた場合、
修正が反映されていなかったので追加で修正をしました。

※Slide Proのスライダーが2枚の場合についての不具合の対応は
下記記事を参考に修正してください。

Slider Pro カスタマイズ:スライダーが2枚の時に対応


【1】jquery.sliderPro.jsの4598行目のコードを変更する

jquery.sliderPro.jsを開き4598行目に書かれている下記コードを修正します。


【修正前】4598行~4605行

// Re-create the buttons. This is calles when the number of slides changes.
_adjustButtons: function() {
 this.$buttons.empty();

// Create the buttons
for ( var i = 0; i < this.getTotalSlides(); i++ ) {
 $( '<div class="sp-button"></div>' ).appendTo( this.$buttons );
}

【修正後】修正前のコードを下記に変更します

// Re-create the buttons. This is calles when the number of slides changes.
_adjustButtons: function() {
 var that = this;
 var dummyButtons = this.$slides.find('div.sp-slide:not(.dSlide)').length;
 var eventIndex;
 this.$buttons.empty();

// Create the buttons
for ( var i = 0; i < dummyButtons; i++ ) {
 $( '<div class="sp-button"></div>' ).appendTo( this.$buttons );
}

【修正前】4598行~4605行のコードを全て【修正後】コードに変更すれば
ブレイクポイントを使ったレスポンシブデザインにも対応することができました。

もしスマホとかで表示した時、スライダーが4枚に複製されたままになっている場合はお試しください。



ブログランキング・にほんブログ村へ ブログランキング

ブログ王ランキングに参加中!

CSSのFlexboxを使って簡単にフッタを最下部に固定する方法

今回はCSSのFlexboxを使ってフッタをブラウザの下部に固定配置してみましょう。

対応ブラウザはIE10以降とモダンブラウザです。

前回の上下左右中央に表示するCSSも使ってコンテンツを上下左右中央に配置もしてみます。



【1】HTMLとCSSファイルを用意します

※用意したCSSファイルへのパスはご自分の環境に合わせて変更してください。

(HTMLソース)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../css/flex_footer.css">
<title>CSSのFlexboxを使って簡単にフッタを最下部に固定する方法</title>
</head>

<body>

<body>

<header>ヘッダエリア</header>

<section>
<h1>コンテンツエリア</h1>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</section>

<footer>フッタエリア</footer>

</body>
   
</body>
</html>


【2】CSSもしくはSASSを記述していきます。

(1) CSSの簡単なリセットと見た目を整えるスタイルを指定します。

※下記CSSはgulpでSassからCSSへ変換し
自動でベンダープレフィックスを追加したソースです。

詳しくはこちらを参照ください。


@charset "UTF-8";
/*------------------------------------
    簡単なリセットとページのスタイル
-------------------------------------*/
* {
  margin: 0;
  padding: 0;
}

header {
  background: #560066;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  font-size: 20px;
}

section {
  text-align: center;
  background: #cdcdcd;
  padding: 20px 0;
}

section h1 {
  margin-bottom: 10px;
}

footer {
  background: #000;
  text-align: center;
  color: #fff;
  padding: 20px 0;
  font-size: 20px;
}


(1) 最下部にフッタを固定するスタイルを指定します。

/*------------------------------------
    最下部にフッタを固定するスタイル
-------------------------------------*/
html {
  height: 100%;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

header {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

section {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

footer {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}


これでフッタがブラウザの下部に配置されたと思います。

(1) では、コンテンツを上下中央に配置するスタイルを追加してみましょう。

下記CSSに追加します。

section {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

↑に下記を追加

  /* ↓ 上下中央に配置するスタイル ↓ */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;

  /* ↑ 上下中央に配置するスタイル ↑ */

上記スタイルを追加した時に子要素が横に並ぶ場合は下記CSSを追加してください。

  -webkit-box-orient: vertical; /* ← 子要素を縦に配置するスタイル */
  -webkit-box-direction: normal; /* ← 子要素を縦に配置するスタイル */
      -ms-flex-direction: column; /* ← 子要素を縦に配置するスタイル */
          flex-direction: column; /* ← 子要素を縦に配置するスタイル */

これで、フッタをブラウザ下部に配置し、コンテンツを上下中央に表示できたかと思います。


(Sassで記述した場合)

/*------------------------------------
    簡単なリセットとページのスタイル
-------------------------------------*/

* {
    margin:0;
    padding:0;
}

header {
    background:#560066;
    color:#fff;
    text-align:center;
    padding:20px 0;
    font-size:20px;
}

section {
    text-align:center;
    background:#cdcdcd;
    padding:20px 0;
    h1 {
        margin-bottom:10px;
    }
}

footer {
    background:#000;
    text-align:center;
    color:#fff;
    padding:20px 0;
    font-size:20px;
}


/*------------------------------------
    最下部にフッタを固定するスタイル
-------------------------------------*/

html {
    height:100%;
}

body {
    display:flex;
    flex-direction:column;
    height:100%;
}

header {
    flex:0 0 auto;
}

section {
    flex:1 0 auto;
   
    /* ↓ 上下中央に配置するスタイル ↓ */
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column; /* ← 子要素を縦に配置するスタイル */
    /* ↑ 上下中央に配置するスタイル ↑ */

}

footer {
    flex:0 0 auto;
}


どうでしたでしょうか?
ブラウザとフッタの間に隙間もできないので、
細かい調整なしで簡単にフッタをブラウザ下部に配置することができますね。


下記サイトを参考にさせていただきました。


Quick Tip: The Best Way To Make Sticky Footers


ブログランキング・にほんブログ村へ ブログランキング

ブログ王ランキングに参加中!

2016年7月11日月曜日

CSSで簡単に上下左右中央に文章や画像を表示する方法

今回はCSSを使って上下左右中央(ブラウザの真ん中)に文章や画像を配置してみましょう。

対応ブラウザはIE10以降とモダンブラウザです。


【1】HTMLとCSSファイルを用意します

※用意したCSSファイルへのパスはご自分の環境に合わせて変更してください。

(HTMLソース)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../css/center_elements.css">
<title>CSSで簡単に上下左右中央に文章や画像を表示する方法</title>
</head>

<body>

<article>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</article>

   
</body>
</html>



【2】CSSもしくはSASSを記述していきます。

(1) CSSの簡単なリセットと中央表示のスタイルを指定します。

※下記CSSはgulpでSassからCSSへ変換し
自動でベンダープレフィックスを追加したソースです。

詳しくはこちらを参照ください。


@charset "UTF-8";
/*------------------------------------
    簡単なリセット
-------------------------------------*/
* {
  margin: 0;
  padding: 0;
}

/*------------------------------------
    上下左右中央に表示するスタイル
-------------------------------------*/
body,
html {
  height: 100%;
}

article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}

article p {
  max-width: 50%;
  padding: 10px;
  background: #ccc;
}


(Sassで記述した場合)

/*------------------------------------
    簡単なリセット
-------------------------------------*/

* {
    margin:0;
    padding:0;
}


/*------------------------------------
    上下左右中央に表示するスタイル
-------------------------------------*/

body,
html {
    height:100%;
}

article {
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    p {
        max-width:50%;
        padding:10px;
        background:#ccc;
    }
}


自動でベンダープレフィックスを追加してくれるので
上記記述だけで楽ですね。


どうでしたでしょうか?
テキストの箇所を画像に変えたり、横幅を変えたりして色々応用できそうですね。


下記サイトを参考にさせていただきました。


Quick Tip: The Simplest Way To Center Elements Vertically And Horizontally


ブログランキング・にほんブログ村へ ブログランキング

ブログ王ランキングに参加中!

2016年6月27日月曜日

CSSのFlexboxを使ってメインコンテンツとサイドバーの高さの合わせ方

今回はCSSのFlexboxを使ってメインコンテンツとサイドバーの高さを合わせてみましょう。

ブラウザサイズが800px以下の場合はサイドバーがコンテンツの下に落ちるように調整もしてみましょう。

まずはコンテンツとサイドバーの高さを合わせて横並びにしてみましょう。



【1】HTMLとCSSファイルを用意します

※用意したCSSファイルへのパスはご自分の環境に合わせて変更してください。

(HTMLソース)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../css/flexbox_sidebar.css">
<title>CSSだけを使ってサイドバーとコンテンツの高さを合わせる</title>
</head>

<body>


<section id="page">
       
<div id="main">

<h1>CSSだけを使ってサイドバーとコンテンツの高さを合わせる。</h1>

<p>サイドバーとコンテンツは、たとえどちらの内容が多くても、いつも等しい高さを保っています。</p>

<p>コンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツ</p>

<p>コンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツ</p>

<div class="wireframe-box">イメージ入れたり入れなかったり</div>

</div>

<aside>
<div class="wireframe-box double">バナーとか</div>
<div class="wireframe-box double">バナーとか</div>
<div class="wireframe-box double">バナーとか</div>
<div class="wireframe-box">バナーとか</div>
<div class="wireframe-box">バナーとか</div>
<div class="wireframe-box">バナーとか</div>
</aside>

</section>
   
</body>
</html>



【2】CSSもしくはSASSを記述していきます。

(1) まずはCSSのリセットとページ全体のスタイルを指定します。

※下記CSSはgulpでSassからCSSへ変換したソースです。
詳しくはちらを参照ください。gulpのインストール方法や使い方を紹介しています。


@charset "UTF-8";
/*------------------------------------
    簡単なリセットとページのスタイル
-------------------------------------*/
* {
  margin: 0;
  padding: 0;
}

html {
  background-color: #f3f3f3;
}

body {
  font: normal 14px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
}


(2) 続いてコンテンツエリアとサイドバーエリアを水平にレイアウトします。

/*------------------------------------
    コンテンツとサイドバーを2カラムにするスタイル
-------------------------------------*/
#page {
  /* 子要素を水平にレイアウトするための指定 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* コンテンツとサイドバーを合わせたマックスの幅を1200pxにして中央に配置*/
  max-width: 1200px;
  margin: 0 auto;
}

#main {
  /* メインコンテンツの幅を自動で指定 */
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

aside {
  /* サイドバーの幅を280px以下にならないように指定 */
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 280px;
}


(3) コンテンツエリアとサイドバーエリアのレイアウトを調整します。

/*------------------------------------
    コンテンツとサイドバーのスタイル
-------------------------------------*/
#main {
  background: #fff;
  padding: 40px 100px 40px 40px;
  line-height: 1.5;
  color: #565a5c;
}

#main h1 {
  margin-bottom: 28px;
  font-size: 24px;
}

#main p {
  margin-bottom: 24px;
}

#main .wireframe-box {
  background: #e2e2e2;
  padding: 200px 0;
  text-align: center;
  margin-bottom: 24px;
}

aside {
  background: #292c2f;
  color: #fff;
  padding: 20px;
  text-align: center;
}

aside .wireframe-box {
  background: #37393c;
  margin-top: 20px;
  padding: 50px;
}

aside .double {
  padding: 100px;
}


これで上記画像のようにレイアウトできたかと思います。

続いてブラウザの幅を縮めた時、サイドバーをコンテンツの下に落として表示させます。



 続けて下記CSSソースを記述してください。

 @media all and (max-width: 800px) {
  /* ブラウザ幅が800px以下の場合はサイドバーをコンテンツの下に落とす */
  #page {
    /* 子要素を上から下へ垂直に表示する指定 */
    -ms-flex-flow: column;
        flex-flow: column;
  }
  aside {
    /* サイドバーをブラウザ幅に合わせる指定 */
    width: auto;
  }
  #main {
    padding-right: 40px;
  }
}


これでブラウザの幅を800px以下に縮めた時は上記画像のようにサイドバーがコンテンツの下に落ちて、ブラウザの幅に合わせて伸縮するようになりました。


サンプルのhtmlとcssをGitHubにUPしておきましたので、
もし必要であれば確認してみてください。



下記にSassで記述した場合のコードも記載しておきますね。

 /*------------------------------------
    簡単なリセットとページのスタイル
-------------------------------------*/

* {
    margin:0;
    padding:0;
}

html{
    background-color:#f3f3f3;
}

body{
    font:normal 14px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
}



/*------------------------------------
    コンテンツとサイドバーを2カラムにするスタイル
-------------------------------------*/

#page {
    /* 子要素を水平にレイアウトするための指定 */
    display:-webkit-flex;
    display:flex;
  
    /* コンテンツとサイドバーを合わせたマックスの幅を1200pxにして中央に配置*/
    max-width:1200px;
    margin:0 auto;
}

#main {
    /* メインコンテンツの幅を自動で指定 */
    -webkit-flex-grow:1;
    flex-grow:1;
}

aside {
    /* サイドバーの幅を280px以下にならないように指定 */
    -webkit-flex-shrink:0;
    flex-shrink:0;
    width:280px;
}


/*------------------------------------
    コンテンツとサイドバーのスタイル
-------------------------------------*/

#main {
    background:#fff;
    padding:40px 100px 40px 40px;
    line-height:1.5;
    color:#565a5c;
    h1 {
        margin-bottom:28px;
        font-size:24px;
    }
    p {
        margin-bottom:24px;
    }
    .wireframe-box {
        background:#e2e2e2;
        padding:200px 0;
        text-align:center;
        margin-bottom:24px;
    }
}

aside {
    background:#292c2f;
    color:#fff;
    padding:20px;
    text-align:center;
    .wireframe-box {
        background:#37393c;
        margin-top:20px;
        padding:50px;
    }
    .double {
        padding:100px;
    }
}


@media all and (max-width:800px) {
  
    /* ブラウザ幅が800px以下の場合はサイドバーをコンテンツの下に落とす */
  
    #page {
        /* 子要素を上から下へ垂直に表示する指定 */
        -webkit-flex-flow:column;
        flex-flow:column;
    }
  
    aside {
        /* サイドバーをブラウザ幅に合わせる指定 */
        width:auto;
    }
  
    #main {
        padding-right:40px;
    }
}


下記サイトを参考にさせていただきました。


Here Is The Easiest Way To Create Equal Height Sidebars



ブログランキング・にほんブログ村へ ブログランキング

ブログ王ランキングに参加中!

2016年6月23日木曜日

SSH接続でGitHubからSourceTreeへのクローンが終わらない場合

今回はSourceTreeとGitHubでSSH接続でクローンやプッシュをした場合、いつまで経ってもクローンやプッシュが終わらない場合の対策です。


【1】PuTTY Key Generatorで作った鍵が保存されているか確認する

SSH接続を使う場合PuTTY Key Generatorで公開鍵と秘密鍵を作ると思うのですが、
2つの鍵が自分のPCに保存されているのか確認してみましょう。


【2】Pageant Key Listに秘密鍵がAddされているか確認する

タスクバーのPageantをアイコンをダブルクリックで開きPageant Key Listに秘密鍵がAddされているか確認します。

空白でしたらAddしておきましょう。



SSH公開鍵、秘密鍵の作り方などは下記のサイトが参考になると思います。


SourceTree 設定手順 覚書【Windows】



【3】GitHubに公開鍵が登録されているか確認する 

GitHubページの右上にある水色っぽいアイコンをクリックしSettingsを選択しましょう。



左側にあるPersonal settingsメニューのSSH and GPG keysをクリックし、
SSH keysが登録されているか確認しましょう。



登録されていない場合は公開鍵を登録しましょう。

下記赤枠の中の公開鍵をGitHubに登録。




【4】SourceTreeのオプションにSSHキーが設定さているか確認する

「ツール」→「オプション」→「全般」へ移動しSSHキーが設定されいるか確認します。



【4】リポジトリをクローンする場合、保存先のフォルダに.gitが無いか確認する

クリーンに失敗した場合などに、保存先フォルダには.gitが作られます。

そのまま新たに保存先にクローンしようとするとエラーがでますので、
保存先フォルダをそのまま使う場合は.gitを削除しておきましょう。



【5】コマンドプロンプトでコマンドを入力する

上記全て問題がなく、なおかつクローンやプッシュができない場合は下記コマンドを
コマンドプロンプトへ入力してみましょう。

(入力コマンド) ※貼り付けではなく入力してください

"C:\Program Files (x86)\Atlassian\SourceTree\tools\putty\plink.exe" -ssh -C
-i "id_rsa.ppk" git@github.com

上記コマンドを入力しエンター

yを入力しエンター


これでクローンができるようになると思われます。



どうでしたでしょうか?

クローンやプッシュは問題なくできたでしょうか?

どうしてもSSHでクローンやプッシュができなく
上記【1】~【4】を見直して何度トライしてもダメだったので
【5】を試してみたらやっと解決しました。

SourceTreeとGitHubのSSH接続を諦めた方は一度上記を試してみてください(^^)/


下記参考にさせていただいたサイトです。


SourceTreeでGitHubやBitbucketにSSH接続できない



ブログランキング・にほんブログ村へ ブログランキング

ブログ王ランキングに参加中!

2016年6月21日火曜日

SourceTreeとBacklogを連携させてみよう

今回はSourceTreeとBacklogを連携させてみましょう。

過去記事で構築したgulpを使ったコーディング環境を
SourceTreeとBacklogで同期させてみたいと思います。


過去記事はこちら

【1】Backlogのフリープランに申込みしましょう。

下記URLにアクセスし、必要事項を記入しましょう。

※数人しか関わらない小規模案件ならフリープランで十分かと思います。

 Backlogお申込みフォーム



【2】プロジェクトを追加しましょう。

Backlogのフリープランに申込ができたら、ダッシュボードページからプロジェクトを追加しましょう。


プロジェクト名を練習用、プロジェクトキーをPRAにしました。


【3】Gitを有効にしリポジトリを作成しましょう。

プロジェクトを追加したらプロジェクト設定画面からGitを有効にしリポジトリを作成しましょう。

[ホーム画面]

①プロジェクト設定をクリック



[プロジェクト設定画面]

②左メニューのGitをクリック

③このプロジェクトでGitを使うボタンをクリック



④リポジトリを追加するをクリック



⑤リポジトリ名を入力しリポジトリを作成するボタンをクリック

※practiceにしました。



これでpracticeリポジトリが作成されました。





【4】SourceTreeからBacklogへプッシュしてみましょう。

先ほどのBacklogページからHTTPのURLをコピーします。

※とりま個人で使う分にはHTTPでOKだと思います。



SourceTreeを立ち上げ、右側の設定アイコンをクリック。



追加ボタンをクリック。



リモート名とURL/パスを入力します。

リモート名はbacklogにしました。

URL/パスはHTTPのURLを貼り付けます。



OKボタンをクリックするとユーザーネームとパスワードを聞かれると思いますので、
BacklogのユーザIDとパスワードを入力しましょう。
(プッシュするタイミングで聞かれる場合もあるみたいです。)

SourceTreeのリモート一覧にbacklogが作成されたと思います。



これでBacklog側にプッシュできる環境が整いました。

それではプッシュしてみましょう。

プッシュアイコンをクリック



プッシュするブランチを選択しOKボタンをクリックしましょう。



最初はdevelopとmaster両方をプッシュしておきます。

developは「開発をおこなうためのブランチ」 なので、featureブランチでの作業が終わりdevelopにマージしたタイミングでプッシュすればいいかと思います。

masterは「リリースしたデータを置いておくブランチ」なので、releaseブランチやhot-fixブランチからmasterへのマージが完了したタイミングでプッシュしておけばいいかと思います。


プッシュが成功するとBacklog側のpracticeリポジトリにdevelopとmasterブランチが作成されていますので、これでSourceTreeとBacklogの連携が完了しました。


ここまでで以下のコーディング環境が整いました。

  • gulpでの自動化
  • 作業フォルダと出力フォルダの分離化
  • 作業フォルダをGitとSourceTreeでバージョン管理
  • SourceTreeでGit Flowを使った開発手法導入
  • SourceTreeとBacklogを連携してプロジェクトとして管理

どうでしたでしょうか?

これでBacklogでユーザーを追加すれば、複数人でリポジトリの共有ができるようになりました。

個人で使ったり、少人数しか関わらない案件なら
とりまフリープランで試すのもアリかと思います。



ブログランキング・にほんブログ村へ ブログランキング

ブログ王ランキングに参加中!