2023年11月02日
画像レティナ関連
<picture>
<source media="(min-width: 320px)" srcset="small.jpg 1x, small@2x.jpg 2x">
<source media="(min-width: 640px)" srcset="big.jpg 1x, big@2x.jpg 2x">
<img src="small.jpg" alt="Example image">
</picture>
投稿者 muuming : 11:28
2020年10月11日
drag&drop系のメモ
※動作は試してない。
1,移動元の要素に
draggable="true"
で要素をドラッグ可能にする
2、移動先に
dropzone="copy"
ドラッグされるデータのコピーがドロップされる
dropzone="move"
ドラッグされるデータが移動してドロップされる
dropzone="link"
ドラッグされるデータ元へのリンクがドロップされる
3、jsで ドラッグ開始時にDataTransferというオブジェクトにドラッグするデータをセット
$("#h").on("dragstart",function(e){
e.dataTransfer.setData("id", e.target.id);
});
4、ドロップ時
$("#移動先要素").on("dragover", function(e){
e.preventDefault();//元からある動作無し (必須ではない?)
e..originalEvent.stopPropagation();//バブリング無し(必須ではない?)
var id_name = event.dataTransfer.getData("id");
});
とおもったけど、なんかおかしいというか、思ってるのと違うような…
dropzone="copy" って動いてないような?というか使い方ちがうのか?
結局ondropイベントが登録されてる場所にドロップ可能になってるような??
このあたり、よーわからん。
※dragover イベントの登録も必要なようだ。
$("body").on('dragover', "#otosubasyo", function () {
return false;
});
-----------------------------
ゴチャゴチャ書いたが以下に落ち着いた
drag&dropではなくdrag&drop風の動作
移動でつかめる部分はcssでcursor:moveに
移動でつかめる部分を mousedownで、移動する部分をposition:rerativeに
mousedownしたらマウスの初期位置を取得するのと何かしら移動中のフラグをつける
bodyのmousemoveイベントで移動中であればマウスの移動距離を取得
初期値と現在地の違いから移動する部分のtopとleftを変更でマウスについてくる感じになる
bodyのmouseupイベントで移動中であれば移動中フラグ取り消しdropする範囲内であればdrop処理する
移動でつかめる部分を元の位置に戻す場合はposition left topを元に戻す
---------------------------------
が これだとスクロールした場合など微妙にずれるので・・・
マウスダウンした時に要素のどの座標をつかんでいるかを記録
offset().top -e.pageX
mousemoveでマウスの座標と最初に記録した座標から現在のoffset({top:....,left:.... })を設定
これでずれない!
投稿者 muuming : 05:53
2017年06月14日
SVGからcanvasへpathで描画
制御点の位置を算出して ctx.bezierCurveToでパス引いてって方法を探ってたんですが、結局・・・・SVGとcanvasは既に換算できる方法が用意されていた・・・!
var obj1 = new Path2D("M10 10 h 80 v 80 h -80 Z");
ctx.stroke(obj1);
これだけ org
投稿者 muuming : 18:19
2017年06月13日
SVGのパラメーター
SVG画像をイラレ等で書き出すと
ぱ
pathのパラメーターがハイフン入った物があったりしてるが、
0-1.2,3,4 とか成っているような感じ
多分おそらく
0,-1,2,3,4 とカンマが省略できる部分を省略してると思う。多分だけど・・・
large-arc-flag と sweep-flag
長弦 短弦 右左曲がりのパラメータの違いは以下参照
あとa と A等など、大文字小文字で指定できるが、は同じなのかと思ってたが、aは座標指定が相対、Aは座標指定が絶対らすい
https://triple-underscore.github.io/SVG11/paths.html#PathDataCubicBezierCommands
SVGコマンドとcanvasのコマンドの対応表がのってるページ
投稿者 muuming : 17:45
2016年10月29日
ブラウザに形式チェックさせない
input formnovalidate とすれば形式チェックしない
投稿者 muuming : 12:51
2013年09月04日
スマホページ作成アレコレ
とりあえず、iphoneを縦に使った場合の横幅は320px 横に使ったら480pxんだけど、スマホがこの横幅ってのは無いから、ある程度でか目に作って縮小させるのが得策?
■viewportについて(ぱくり)
プロパティ | 値 | ||||
---|---|---|---|---|---|
内容 | 単位・指定方法 | デフォルト | 許容範囲 | その他 | |
width | Viewportの横幅 | px | 980px | 200~10,000px | 特別な値として「device-width*」の指定が可能 |
height | Viewportの縦幅 | px | 横幅とアスペクト比から計算される値 | 200~10,000px | 特別な値として「device-height*」の指定が可能 |
initial-scale | 倍率の初期値 | 乗数で指定 (例:120%の場合は1.2) |
表示範囲から計算される値 | minimum-scale(後述)~maximum-scale(後述) | |
minimum-scale | 倍率の最小値 | 乗数で指定 | 0.25 | 0~10 | |
maximum-scale | 倍率の最大値 | 乗数で指定 | 1.6 | 0~10 | |
user-scalable | 拡大縮小の可否 | --(yes / no) | yes | -- | no(拡大縮小不可)にすることでフォーム入力時のスクロールも不可 |
投稿者 muuming : 10:52 | コメント (0)
2013年08月01日
cssテーブルっぽく
うほうほ テーブルじゃなくともテーブルっぽくレイアウトできるのね。
ul {
display: table;
width: 100%;
table-layout: fixed;
}
li {
display: table-cell;
}
a {
display: block;
color: #000;
text-align: center;
text-decoration: none;
}
li:nth-child(1) a { border-bottom: 4px solid #00c; }
li:nth-child(2) a { border-bottom: 4px solid #c00; }
li:nth-child(3) a { border-bottom: 4px solid #fc0; }
投稿者 muuming : 17:43 | コメント (0)
2013年07月31日
縦向き横向きCSS
@media screen and (orientation:portrait){ 縦長画面向けスタイル }@media screen and (orientation:landscape){
横長画面向けスタイル
}
今回の新着商品では各商品情報の固まりを1つのdiv(.product-inline-block)で囲みそれらをインラインブロック要素とすることで横に並ぶようにしています。このとき縦画面では横幅144pxなので3つ目の商品情報は画面幅320pxに収まらないため折り返して表示されます。横画面では横幅を96pxにしています。これで折り返されることなく横一列に並ぶわけです。
投稿者 muuming : 18:49 | コメント (0)
2010年11月17日
cssの優先順位
p,h1 などのタグ 1ポイント
.sample(classの場合)10ポイント
#sample(IDの場合) 100ポイント
p.sample=1+10=11ポイント
.sample p=10+1=11ポイント
.sample li p=10+1+1=12ポイント
#sample .sample=100+10=110ポイント
#sample .sample p=100+10+1=111ポイント
ポイントが高いの優先