エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【CSS】スマホを横向きにした時に、文字が勝手に大きくなる問題【136日目】

CSSをpx指定してもできない

.text {
    font-size: 14px;
}

.text2 {
    font-size: 14px;
}

スマホを横向きにした瞬間文字が大きくなる・・・なぜ。

かと思えばtext2に至っては小さくなってる・・・どゆことなの。

対策

html {
    -moz-text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
}

-mozや、-webkitとかは、firefoxとかiphonesafariとかブラウザ毎の対応です。

どういうことなの

iphonesafariとか、ブラウザが自動的に文字サイズを変えちゃうみたい。

モバイル対応してないサイトとかを、そのまま表示したら見にくいだろうって気遣いみたい。

なので、CSSでhtml部分の設定を書き換えようってお話。

参照元

日本語記事

developer.mozilla.org

元記事

developer.mozilla.org

golangのチュートリアル始めて衝撃的だったこと3つpart4【135日目】

前回の記事

willow710kut.hatenablog.com

驚いたことかk

A Tour of Go

チュートリアルの感想を引き続き書きますん。

ポインタがある!

p := &i         // point to i
fmt.Println(*p) // read i through the pointer
*p = 21         // set i through the pointer
fmt.Println(i)  // see the new value of i

C言語を思い出しますね。どこかで聞いた話だと、golang作った人の一人が、C言語に関わりが深い人だとか。

スライスは配列への参照のようなもの

a := names[0:2]
b := names[1:3]
fmt.Println(a, b)

b[0] = "XXX"
fmt.Println(a, b)
fmt.Println(names)

b[0] = "XXX"によって、aの2番目も、bの1番目も"XXX"、に変わっています。

これ、慣れないとうっかり間違えて書いちゃいそう。

nilなるものがある

無という意味で、nullと似てるけど違うものらしいです。

型を所持しているとか。

調べてもわからなかったので、詳しくは書けませんが、、、

今までプログラミングでnilは使ったことないので、困惑しそうです。。。

まだチュートリアルは続く・・・

どうしよう、まだまだ続きそうこのシリーズ。

ってことで、全部終わったら特に気になったのをまとめる記事でも書きます?

golangのチュートリアル始めて衝撃的だったこと3つpart3【134日目】

前回の記事

willow710kut.hatenablog.com

驚いたことまだまだ続く。

A Tour of Go

チュートリアル驚いたことをまた書きますね。

ifの初期変数はif文内のみで使える。

if v := math.Pow(x, n); v < lim {
    return v
} else {
    fmt.Printf("%g >= %g\n", v, lim)
}
return v

最後のreturn vは機能しません。

何気にこれ便利ね。一時的に使う変数のスコープの意識を、if文だけで完結出来るのは良い。

switchにbreakが必要ない

これはswiftも一緒ですね!まっすぐ下に下げたい時の記述はまた探しておきますね。

switch os := runtime.GOOS; os {
case "darwin":
    fmt.Println("OS X.")
case "linux":
    fmt.Println("Linux.")
default:
    // freebsd, openbsd,
    // plan9, windows...
    fmt.Printf("%s.", os)
}

見やすい便利。

switchをif elseの代わりに使える

手法の一つですが、goはswitch trueのtrueを省略して書けるのです。

これだけだとピンときませんが、以下のプログラムはすっごく見やすい。

switch {
case t.Hour() < 12:
    fmt.Println("Good morning!")
case t.Hour() < 17:
    fmt.Println("Good afternoon.")
default:
    fmt.Println("Good evening.")
}

phpとかなら

if (t.Hour() <12) {
    printf("Good morning!");
} else if (t.Hour() <12) {
    printf("Good afternoon.");
} else {
    printf("Good evening.");
}

goの方が見やすい感じしますね。書きやすいですし。

goの記述、結構見やすいね。

ってことで、part4も書けそう。

いい感じの備忘録になってる。気になったらあなたもチュートリアルへゴー!

golangのチュートリアル始めて衝撃的だったこと3つpart2【133日目】

前回の記事

willow710kut.hatenablog.com

今回驚いたこと

A Tour of Go

チュートリアル驚いたことをまた書きますね。

読者対象

golangとか知らない。でも気になってる。

他の言語触ったことある

for文に()が要らない

for i := 0; i < 10; i++ {
    sum += i
}

マジカヨ。

慣れるまで見にくそう。中括弧に注目しないといけないね。

whileが存在しない・forの;を省略出来る。

for sum < 1000 {
    sum += sum
}

これ実質while文。

for {
    sum += sum
}

これで無限ループ。

ifに初回代入を書ける

if v := math.Pow(x, n); v < lim {
    return v
}

for(v = math.Pow(x, n); v < lim;)みたいな感じね。パット見便利そうだけど、使ってみないと便利さわからなさそう。

forとか当たり前に書いてた文もかなり違うね

ってことで、次回もまたこのネタで書きそう。

新しい言語学ぶのってこんなに面白いのね。今までと毛色が違うのもあるかもしれない。わくわく。

golangのチュートリアル始めて衝撃的だったこと3つpart1【132日目】

golangチュートリアル始めました。

これ。インストールとか不要。ブラウザでいろいろ出来るよ。この時点でもびっくりだね!

日本語にも対応してるよ。とりあえず見てみよう。

A Tour of Go

驚いたこととりあえず3つ。

読者対象

golangとか知らない。でも気になってる。

他の言語触ったことある

変数名の後ろに型名を書く

もうやばい。

func add(x int, y int) int {
    return x + y
}

複数の値を返せて、listsで受け取らなくていい

func swap(x, y string) (string, string) {
    return y, x
}

func main() {
    a, b := swap("hello", "world")
    fmt.Println(a, b)
}

ちなみにPHPだと、引数を受け取る時に

lists(a, b) = swap("hello", "world");

こうなる。

戻り値となる変数に名前をつける

func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}

returnに何も書かれていないけど、これは x, yがreturnされています。

感想

ふえー面白い。

ってことで、とりあえず勉強続けます。興味もったら貴方もチュートリアルへ!

とりあえずまだ触りしかチュートリアルしてないので、またびっくりしたことあったら書きますね。

z-indexで重ねたウィンドウをクリックすると、全部反応してしまう【131日目】

注意

willow710kut.hatenablog.com

以下の方法だと、スクロールイベントなど、デフォルトの動作も止まるので、
それを防ぎたい場合は上の記事をどうぞ。

何が起こった

<div class="bg">
 <div class="front">
 </div>
</div>
bg {
    width: 100%;
    z-index: 10;
}

front {
    width: 80%;
    z-index: 11;
}

こんな時に、frontをクリックすると、frontもbgも両方クリックイベントが反応した。
裏側にあるはずなのになぜ・・・

参考サイト

www.tam-tam.co.jp

jQueryの仕様だったのね。

ってことで、jQueryさん、クリックイベントがどんどん下の階層にも送られるそうです。

それを止めるにはどうするか

こうする。

        $('.bg').click(function () {
                $('.front').hide();
                return false;
        });

return false;をする。

これで、今はbgクリックしたら、frontが消えるやつ。

スマホを横に変えた時の幅に対応するために。cssでvwとvhを使う。【130日目】

こんな時使える。

スマホで横幅いっぱいの画像を表示させようとして、
縦向きから横向きに切り替えた時に、画像の大きさが変わらない時とか。

同じ条件で、divの横幅が変わらない時とか。

どうするの

width: 100%;

とか書いていたのを

width: 100vw;

に変える。

するとどうなる

画面を縦向きに表示させたあと、横に方向を変えても、画像の幅が変わってくれる。

これなに

参考先。

ブラウザの横幅や縦幅取ってきてくれるよ。

dev.classmethod.jp

www.webprofessional.jp