Code Monkey home page Code Monkey logo

shitajicss's Introduction

Shitaji.CSS Logo

Shitaji.CSS

Site

https://shitajicss.qranoko.jp

About

Shitaji.CSS(シタジシーエスエス)は、Web 制作用の下地リセット CSS です。

  • 見出しやタップハイライトなどの不要なスタイルを解除
  • フォーム関連はブラウザデフォルトでも機能させる
  • すべての案件に使えるよう CC0 で配布

How To Use

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/shitaji.min.css" />
$ npm install shitajicss
import "shitajicss"

Support

Chrome Firefox Safari
Newest Newest Newest

License

  • CC0 1.0 Public Domain

Credit

shitajicss's People

Contributors

dependabot[bot] avatar nabettu avatar qrac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

shitajicss's Issues

form系タグにfont-familyを引き継ぐ

#11 sanitize.css v6.0.0 反映 〜 細分化して検証

  • Added: font-family: inherit on form elements
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

Autoprefixerの最適化

  • リセットCSS用のAutoprefixerは解除
  • デモ用は> 3% in JP, ie 11, Android 4.4, last 1 versions

package.jsonの微修正

Nuxtなどで引っ張れないデータがあるため、IE Busterなど直近のライブラリと同じ形式へJSONを修正する。

jsDelivr リニューアル対応

CDNサービスとして配信をお願いしてきたjsDelivrが、npmとGitHubにアップしたものを自動的に取得する仕様に変わった。旧配信URLは残る。新しいアップデートは配信URLが変わっているので、ドキュメント・デモページに記載する。

Shitaji.CSS / jsDelivr - GitHub

<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/qrac/[email protected]/docs/css/shitaji.min.css">

Shitaji.CSS / jsDelivr - npm

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/docs/css/shitaji.min.css">

開発環境のアップデート v6

開発環境の老朽化を改善。

  • dist をリポジトリに含めない(npm配信には含む)
  • gulpを削除しテストは test として配置(npmでは配信に含めない)
  • ドキュメントコードを内包

Update details (v6)

  • リセット内容を最新ブラウザで目視した最小限のものに縮小 #31
  • IEなどレガシーブラウザのサポートを終了 #30
  • SCSSファイルの配布を終了 #32

ブラウザ対応状況で不要なタグの除去

#11 sanitize.css v6.0.0 反映 〜 細分化して検証

  • Added: normalize.css updates
// before
abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}
// after
abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

絵文字の指定は不要?

sanitize.css v8.0.0のフォントファミリー指定にemojiがある。ここまで書く必要はある?Issueが上がっていなかったので追加された文脈が不明。

html {
  cursor: default; /* 1 */
  font-family:
    system-ui,
    /* macOS 10.11-10.12 */ -apple-system,
    /* Windows 6+ */ Segoe UI,
    /* Android 4+ */ Roboto,
    /* Ubuntu 10.10+ */ Ubuntu,
    /* Gnome 3+ */ Cantarell,
    /* KDE Plasma 5+ */ Noto Sans,
    /* fallback */ sans-serif,
    /* macOS emoji */ "Apple Color Emoji",
    /* Windows emoji */ "Segoe UI Emoji",
    /* Windows emoji */ "Segoe UI Symbol",
    /* Linux emoji */ "Noto Color Emoji"; /* 2 */
  line-height: 1.15; /* 3 */
  -moz-tab-size: 4; /* 4 */
  tab-size: 4; /* 4 */
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

フォーム要素への文字色引き継ぎ

body の文字色が #000 以外の場合(※ここでは確認のためわかりやすい red を指定)

Before

image

button input select textarea は文字色に body の色が引き継がれず、CSSデザインで毎回修正する必要がある。フォーム要素だけ文字色が真っ黒となる場合がほとんど。

After

image

inherit を設定することで回避できる。

button,
input,
select,
textarea {
    color: inherit;
}

sanitize.css v6.0.0 反映

saintize.cssが5日前にv6をリリースしていたので、内容を確認し反映が必要な部分を探す。ぱっと見た感じ、style-lint導入でインデントが変更になっている箇所が多いのと、dialog追加、不要な表記の削除が行われているが、大きく変更されてはいないよう。また、所有が個人からcsstoolsというグループに変わった。

※リリースはまだ発行されていないので、まだ修正があるのかもしれない。発行され次第対応。

デモサイトのリポジトリを分割・Netlifyへ移行

IE Busterでライブラリとデモのリポジトリを分割したところ、本体の修正とデモサイトへの反映を別で動かせて便利だった。また、依存モジュールが明確になりリポジトリのソースコードも見通しがよくなる。

デモサイトはデプロイ状況のわからないGitHub Pagesをやめ、Netlifyへ移行させる。URLは shitajicss.qranoko.jp に変更し、gh-pages ブランチにリダイレクト用HTMLを置く。

サイトの構造はIE Busterと同じNuxt.jsで作っておく。

htmlにword-break付与

#11 sanitize.css v6.0.0 反映 〜 細分化して検証

  • Added: word-break: break-word to html
html {
	box-sizing: border-box; /* 1 */
	cursor: default; /* 2 */
	-ms-text-size-adjust: 100%; /* 3 */
	-webkit-text-size-adjust: 100%; /* 3 */
}
// after
html {
  line-height: 1.15; /* 1 */
  cursor: default; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
  word-break: break-word; /* 4 */
}

npm配信

package.json

{
  "name": "shitajicss",
  "description": "Resetting CSS for web production",
  "version": "4.1.0",
  "style": "docs/css/shitaji.css",
  "keywords": ["css", "reset", "shitaji", "japanese"],
  "homepage": "https://github.com/qrac/shitajicss",
  "bugs": {
    "url" : "https://github.com/qrac/shitajicss"
  },
  "author": {
    "name": "Qrac",
    "web": "https://twitter.com/Qrac_JP"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/qrac/shitajicss.git"
  },
  "license": "(CC0-1.0)"
}

SCSSファイルの配布を終了

Dart Sassはnode-sassと違いCSSファイルをインポートできるため、あえてSCSSファイルを生成する必要がなくなった。

容量を半減(1KB弱)

sanitize.cssなどの参照を終了。自分が最新ブラウザで目視したものだけを記載。影響がみられないCSSは削除。

sanitize.css v7・v8の反映

必要なものを取り込む。

  • SVGアイコンの塗りつぶしを制御 #20
  • カーソルの非活性プロパティを修正 #21
  • 微調整(重複除去・並び替え・その他反映)

addressの斜体をリセット

addressタグを使うとブラウザCSSでitalicになったりするので、リセットしたほうがいいかも。

address {
  font-style: normal;
}

または

*,
:after,
:before {
    font-style: inherit;
}

などを検討。

dialogタグスタイルの共通化

#11 sanitize.css v6.0.0 反映 〜 細分化して検証

normarize.cssなどには無く、sanitize.cssのみ追加されているが必要?

dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

box-sizing指定方法の変更

#11 sanitize.css v6.0.0 反映 〜 細分化して検証

  • Added: box-sizing: border-box to *, ::before, ::after
  • Removed: box-sizing: border-box from html and box-sizing: inherit from
    html
// before
*,
::before,
::after {
	background-repeat: no-repeat; /* 1 */
	box-sizing: inherit; /* 2 */
}

html {
	box-sizing: border-box; /* 1 */
	cursor: default; /* 2 */
	-ms-text-size-adjust: 100%; /* 3 */
	-webkit-text-size-adjust: 100%; /* 3 */
}
// after
*,
::before,
::after {
  background-repeat: no-repeat; /* 1 */
  box-sizing: border-box; /* 2 */
}

html {
  line-height: 1.15; /* 1 */
  cursor: default; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
  word-break: break-word; /* 4 */
}

htmlからscrollを削除

古いブラウザのスクロールバー関係か何かで入れたCSS。現在のnormarize.css・sanitize.css・ress.cssには無い。

html {
  overflow-y: scroll;
}

これがあるとモーダルを body-scroll-lock などで作るときにモーダル以外を固定できなくなるので、削除する。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.