20個の役に立つcssテクニック
10407 ワード
次のCSSのテクニックを知らないかもしれません.カラー写真は白黒、2.すべての要素が垂直に中央に3.マウスを無効にします.4.あいまいな文字、編集者はエネルギーがいっぱいで、CSSに対してまた愛に満ちていると感じて、あなたも見てみましょう.
このコードはあなたのカラー写真を白黒写真に表示しますが、かっこいいのではないでしょうか.
まず、各メニュー項目に枠線を追加します.
...そして最後の要素を除去します...
...要素を適用するには、not()擬似クラスを直接使用します.
これでコードがきれいになり、読みやすくなり、理解しやすくなります.
もちろん、あなたの新しい要素に兄弟要素があれば、共通の兄弟選択子(~):
次の簡単なCSS 3コードクリップは、Webページにきれいなトップシャドウ効果を加えることができます.
各p、hタグなどにline-heightをそれぞれ追加する必要はありません.bodyに追加してください.
これにより、テキスト要素をbodyから簡単に継承できます.
すべての要素を垂直に中央に配置するには、簡単すぎます.
ほら、簡単ではありませんか.
注意:IE 11ではflexboxに注意してください.
HTMLリスト項目を本物のようにカンマで区切ったリストにします.
最後のリスト項目には、not()擬似クラスが使用されます.
CSSで負のnth-childを使用してプロジェクト1からプロジェクトnを選択します.
アイコンにSVGを使用しない理由はありません.
SVGはすべての解像度タイプに対して良好な拡張性を有し、すべてのブラウザがIE 9に復帰することをサポートする.これで避けることができます.png、.jpgまたは.gifファイルです.
フォントがすべてのデバイスで最適な表示に達しない場合があるので、デバイスブラウザで支援できます.
注意:optimizeLegibilityは責任を持って使用してください.また、IE/Edgeではtext-renderingがサポートされていません.
max-heightとオーバーフロー非表示を使用して、CSSのみのスライダを実装します.
box-sizingにhtmlを継承させる:
これにより、プラグインやレバーの他の動作の他のコンポーネントでbox-sizingをより容易に変更することができます.
表は仕事が面倒なので、できるだけtable-layout:fixedを使います.を選択します.
カラムセパレータを使用する必要がある場合、flexboxのspace-betweenプロパティを使用すると、nth-、first-、last-childのhackから抜け出すことができます.
リスト・セパレータが均一な間隔で表示されます.
a要素にテキスト値がありませんが、href属性にリンクがある場合、リンクが表示されます.
かなり便利です.
HTML:
CSS:·
borderを利用して三角形のコードを書き、IE 6と互換性がある.
calc()は関数に似ており、要素に動的な値を設定できます.
テキストグラデーション効果が流行しており、CSS 3を使用すると簡単に実現できます.
CSS 3に追加されたpointer-eventは、要素のマウスイベントを無効にすることができます.例えば、接続が次のスタイルに設定されているとクリックできません.・
簡単ですが、きれいなテキストがぼやけていて、簡単できれいです.
1.白黒画像
このコードはあなたのカラー写真を白黒写真に表示しますが、かっこいいのではないでしょうか.
img {
filter: grayscale(100%);
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
}
2.使用:not()メニューに枠線を適用/適用解除する
まず、各メニュー項目に枠線を追加します.
/* add border */
.nav li {
border-right: 1px solid #666;
}
...そして最後の要素を除去します...
// remove border /
.nav li:last-child {
border-right: none;
}
...要素を適用するには、not()擬似クラスを直接使用します.
//code from http://caibaojian.com/useful-css-tips.html
.nav li:not(:last-child) {
border-right: 1px solid #666;
}
これでコードがきれいになり、読みやすくなり、理解しやすくなります.
もちろん、あなたの新しい要素に兄弟要素があれば、共通の兄弟選択子(~):
..nav li:first-child ~ li {
border-left: 1px solid #666;
}
3.ページ上部シャドウ
次の簡単なCSS 3コードクリップは、Webページにきれいなトップシャドウ効果を加えることができます.
//code from http://caibaojian.com/useful-css-tips.html
body:before {
content: "";
position: fixed;
top: -10px;
left: 0;
width: 100%;
height: 10px;
-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
-moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
box-shadow: 0px 0px 10px rgba(0,0,0,.8);
z-index: 100;
}
4.bodyに行の高さを追加
各p、hタグなどにline-heightをそれぞれ追加する必要はありません.bodyに追加してください.
//code from http://caibaojian.com/useful-css-tips.html
body {
line-height: 1;
}
これにより、テキスト要素をbodyから簡単に継承できます.
5.すべてが垂直に中央にある
すべての要素を垂直に中央に配置するには、簡単すぎます.
//code from http://caibaojian.com/useful-css-tips.html
html, body {
height: 100%;
margin: 0;
}
body {
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-flex;
display: flex;
}
ほら、簡単ではありませんか.
注意:IE 11ではflexboxに注意してください.
6.カンマ区切りリスト
HTMLリスト項目を本物のようにカンマで区切ったリストにします.
//code from http://caibaojian.com/useful-css-tips.html
ul > li:not(:last-child)::after {
content: ",";
}
最後のリスト項目には、not()擬似クラスが使用されます.
7.負のnth-childを使用して項目を選択
CSSで負のnth-childを使用してプロジェクト1からプロジェクトnを選択します.
//code from http://caibaojian.com/useful-css-tips.html
li {
display: none;
}
/* select items 1 through 3 and display them */
li:nth-child(-n+3) {
display: block;
}
8.アイコンにSVGを使用
アイコンにSVGを使用しない理由はありません.
//code from http://caibaojian.com/useful-css-tips.html
.logo {
background: url("logo.svg");
}
SVGはすべての解像度タイプに対して良好な拡張性を有し、すべてのブラウザがIE 9に復帰することをサポートする.これで避けることができます.png、.jpgまたは.gifファイルです.
9.表示テキストの最適化
フォントがすべてのデバイスで最適な表示に達しない場合があるので、デバイスブラウザで支援できます.
//code from http://caibaojian.com/useful-css-tips.html
html {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
注意:optimizeLegibilityは責任を持って使用してください.また、IE/Edgeではtext-renderingがサポートされていません.
10.純CSSスライダにmax-heightを使用
max-heightとオーバーフロー非表示を使用して、CSSのみのスライダを実装します.
//code from http://caibaojian.com/useful-css-tips.html
.slider ul {
max-height: 0;
overlow: hidden;
}
.slider:hover ul {
max-height: 1000px;
transition: .3s ease;
}
11.box-sizingの継承
box-sizingにhtmlを継承させる:
//code from http://caibaojian.com/useful-css-tips.html
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
これにより、プラグインやレバーの他の動作の他のコンポーネントでbox-sizingをより容易に変更することができます.
12.表のセルの幅
表は仕事が面倒なので、できるだけtable-layout:fixedを使います.を選択します.
//code from http://caibaojian.com/useful-css-tips.html
.calendar {
table-layout: fixed;
}
13.Flexboxで外から抜け出す様々なhack
カラムセパレータを使用する必要がある場合、flexboxのspace-betweenプロパティを使用すると、nth-、first-、last-childのhackから抜け出すことができます.
//code from http://caibaojian.com/useful-css-tips.html
.list {
display: flex;
justify-content: space-between;
}
.list .person {
flex-basis: 23%;
}
リスト・セパレータが均一な間隔で表示されます.
14.属性セレクタを使用した空のリンク
a要素にテキスト値がありませんが、href属性にリンクがある場合、リンクが表示されます.
//code from http://caibaojian.com/useful-css-tips.html
a[href^="http"]:empty::before {
content: attr(href);
}
かなり便利です.
15.マウスダブルクリックの検出
HTML:
CSS:·
//code from http://caibaojian.com/useful-css-tips.html
.test3 span {
position: relative;
}
.test3 span a {
position: relative;
z-index: 2;
}
.test3 span a:hover, .test3 span a:active {
z-index: 4;
}
.test3 span input {
background: transparent;
border: 0;
cursor: pointer;
position: absolute;
top: -1px;
left: 0;
width: 101%; /* Hacky */
height: 301%; /* Hacky */
z-index: 3;
}
.test3 span input:focus {
background: transparent;
border: 0;
z-index: 1;
}
16.CSSは三角形を書く
borderを利用して三角形のコードを書き、IE 6と互換性がある.
//code from http://caibaojian.com/useful-css-tips.html
/* create an arrow that points up */
div.arrow-up {
width:0px;
height:0px;
border-left:5px solid transparent; /* left arrow slant */
border-right:5px solid transparent; /* right arrow slant */
border-bottom:5px solid #2f2f2f; /* bottom, add background color here */
font-size:0px;
line-height:0px;
}
/* create an arrow that points down */
div.arrow-down {
width:0px;
height:0px;
border-left:5px solid transparent;
border-right:5px solid transparent;
border-top:5px solid #2f2f2f;
font-size:0px;
line-height:0px;
}
/* create an arrow that points left */
div.arrow-left {
width:0px;
height:0px;
border-bottom:5px solid transparent; /* left arrow slant */
border-top:5px solid transparent; /* right arrow slant */
border-right:5px solid #2f2f2f; /* bottom, add background color here */
font-size:0px;
line-height:0px;
}
/* create an arrow that points right */
div.arrow-right {
width:0px;
height:0px;
border-bottom:5px solid transparent; /* left arrow slant */
border-top:5px solid transparent; /* right arrow slant */
border-left:5px solid #2f2f2f; /* bottom, add background color here */
font-size:0px;
line-height:0px;
}
17.CSS 3 calc()の使用
calc()は関数に似ており、要素に動的な値を設定できます.
//code from http://caibaojian.com/useful-css-tips.html
/* basic calc */
.simpleBlock {
width: calc(100% - 100px);
}
/* calc in calc */
.complexBlock {
width: calc(100% - 50% / 3);
padding: 5px calc(3% - 2px);
margin-left: calc(10% + 10px);
}
18.テキストのグラデーション
テキストグラデーション効果が流行しており、CSS 3を使用すると簡単に実現できます.
//code from http://caibaojian.com/useful-css-tips.html
h2[data-text] {
position: relative;
}
h2[data-text]::after {
content: attr(data-text);
z-index: 10;
color: #e3e3e3;
position: absolute;
top: 0;
left: 0;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), color-stop(50%, rgba(0,0,0,1)), to(rgba(0,0,0,0)));}
19.マウスイベントを無効にする
CSS 3に追加されたpointer-eventは、要素のマウスイベントを無効にすることができます.例えば、接続が次のスタイルに設定されているとクリックできません.・
//code from http://caibaojian.com/useful-css-tips.html
.disabled { pointer-events: none; }
20.あいまいなテキスト
簡単ですが、きれいなテキストがぼやけていて、簡単できれいです.
//code from http://caibaojian.com/useful-css-tips.html
.blur {
color: transparent;
text-shadow: 0 0 5px rgba(0,0,0,0.5);
}