要素の表示と非表示
表示(非表示)
表示と非表示
- 表示:なし(非表示)
- display:block(表示)
特徴
先隐藏元素 不占位置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 200px;
height: 200px;
margin: 20px 20px;
background-color: blue;
}
.box1 {
display: none;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
</body>
</html>
可視性(表示と非表示)
- 可視性:非表示(非表示)
- 可視性:可視(表示)
特徴
先隐藏元素 占位置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 200px;
height: 200px;
margin: 20px 20px;
background-color: blue;
}
.box1 {
background-color: yellow;
/* 设置元素的显示与隐藏 */
visibility: hidden;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
</body>
</html>
オーバーフロー(要素の表示と非表示)
- オーバーフロー:表示は、コンテンツをトリミングせず、スクロールバーを表示しません
- オーバーフロー:非表示のコンテンツは、それを超えるとクリップされます
- オーバーフロー:スクロールは常にスクロールバーを表示します
- オーバーフロー:autoは、スクロールバーが表示スクロールバーを超えた場合、スクロールバーを表示しません
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.box {
width: 400PX;
height: 200PX;
border: 1px solid red;
/* 超出部分则自动剪裁 其它属性值请看说明 */
overflow: hidden;
}
</style>
</head>
<body>
<div class="box">
缓慢地升起后小心地将树苗移向事先挖好的树坑里,随后两个工人把树苗扶正,另外一名工人挥锹填土。移栽、扶苗、填土、围堰、浇水,一个上午的时间,工人们共栽下国槐、西府海棠等树苗50余株。 据门头沟区城市管 理委员会相关负责人介绍,本次景观提升工程主要对S1线门头沟段沿线,设计总绿化面积约11万平方米,主要选择国槐、法桐、油松、西府海棠、紫薇、山桃、金叶女贞等植物,打造三季有花、四季有景的景观效果。 缓慢地升起后小心地将树苗移向事先挖好的树坑里,随后两个工人把树苗扶正,另外一名工人挥锹填土。移栽、扶苗、填土、围堰、浇水,一个上午的时间,工人们共栽下国槐、西府海棠等树苗50余株。
据门头沟区城市管 理委员会相关负责人介绍,本次景观提升工程主要对S1线门头沟段沿线,设计总绿化面积约11万平方米,主要选择国槐、法桐、油松、西府海棠、紫薇、山桃、金叶女贞等植物,打造三季有花、四季有景的景观效果。
</div>
</body>
</html>
コンテンツの概要を表示および非表示
ケースの表示と非表示
分析:盒子里面原本有一个半透明的遮罩,设置隐藏,当鼠标经过a时显示。在特殊情况下,a链接可以放div标签
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.box {
position: relative;
width: 222px;
height: 220px;
margin: auto;
border: 1px solid red;
}
.box a {
display: block;
}
.box img {
width: 100%;
}
.box .mask {
display: none;
position: absolute;
width: 222px;
height: 220px;
background: rgba(0, 0, 0, 0.3) url(img/arr.png) no-repeat center center;
}
.box a:hover .mask {
display: block;
}
</style>
</head>
<body>
<div class="box">
<a href="">
<!-- 遮罩层 -->
<div class="mask"></div>
<img src="./img/3.jpg" alt="">
</a>
</div>
</body>
</html>
CSSユーザーインターフェイススタイル
マウススタイル
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
li {
width: 200px;
height: 200px;
margin: 20px auto;
list-style: none;
line-height: 200px;
text-align: center;
font-weight: bold;
color: white;
background-color: #0000FF;
}
li:nth-child(1) {
cursor: default;
}
li:nth-child(2) {
cursor: pointer;
}
li:nth-child(3) {
cursor: move;
}
li:nth-child(4) {
cursor: text;
}
li:nth-child(5) {
cursor: not-allowed;
}
</style>
</head>
<body>
<ul>
<li>默认的鼠标状态</li>
<li>小手状态</li>
<li>移动状态</li>
<li>文本状态</li>
<li>禁止状态</li>
</ul>
</body>
</html>
等高線
実際の開発では、等高線は直接削除されます
outline:none
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
input {
outline: none;
}
</style>
</head>
<body>
账号:<input type="text">
</body>
</html>
テキストフィールドがドラッグされないようにする
resize:none
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
paddding: 0;
}
textarea {
width: 200px;
height: 200px;
outline: 0;
resize: none;
}
</style>
</head>
<body>
<h2>留言板</h2>
<textarea rows="" cols="">
</textarea>
</body>
</html>
ユーザーインターフェイススタイルの概要
垂直方向の中央
インライン要素とインラインブロック要素に対してのみ有効であることに注意してください
vertical-align:top(顶线) middle(中线) baseline(基线) bottom(底线)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
img {
vertical-align: middle;
}
</style>
</head>
<body>
<img src="../CSS(4)/6.导航栏案例/image/button2.jpg" alt="" > hello word
</body>
</html>
画像のギャップを取り除く2つの方法
- ベースラインでない限り、vertivcal-alignの属性を使用します
- display:blockを使用すると、この問題も解決できます
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
.box {
border: 1px solid red;
}
img {
height: 600px;
/* 去除图片底部缝隙的第一种方法 */
/* vertical-align: bottom; */
/* 去除图片底部缝隙的第二种方法 */
display: block;
}
</style>
</head>
<body>
<div class="box">
<img src="./img/timg.jpg" alt="">
</div>
</body>
</html>
テキストの省略
空白:nowrapは、行にデフォルトの属性値を通常どおり表示するように強制します
オーバーフロー:隠された隠された要素
text-overflow:省略記号のデフォルトの属性値テキストオーバーフローは省略記号です
注:3つのステップのいずれかを少なくすることはできません
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.box {
width: 200px;
height: 20px;
border: 1px solid #ccc;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
</head>
<body>
<div class="box">hello 我的名字叫做尧子陌 很高兴认识各位哦</div>
</body>
</html>
魔神テクノロジー
スプライトグラフの利点
サーバーの要求と受け入れの数を減らし、ページの読み込み速度を向上させます
独自のスプライトマップを作成する方法
各背景画像のサイズと位置を正確に測定します
ボックスの幅と高さを設定する場合、位置は通常負の値です
スプライトパターンの例
あなたの名前を綴る
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
div {
float: left;
background: url(img/name.jpg) no-repeat;
}
.box1 {
width: 116px;
height: 106px;
background-position: -365px -557px;
}
.box2 {
width: 110px;
height: 110px;
background-position: 0px -9px;
}
.box3 {
width: 108px;
height: 108px;
background-position: -370px -280px;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>
独自のスプライトマップを作成する
各スプライトはきちんと配置され、解像度は72pt、背景は透明、フォーマットはpngフォーマットである必要があります。
引き戸技術
さまざまな特殊な形状の背景をテキストコンテンツの量に適応させるために、引き戸技術が登場しました。
コアテクノロジー:cssウィザードとパディングパディングを使用する
注意点
- aは左側を担当します-シーンスパンは、適切な幅を拡張するためのパディングを備えた右側の背景を担当します
- ナビゲーションバー全体がリンクであるため、aにはスパンが含まれます
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
a {
display: inline-block;
height: 33px;
line-height: 33px;
padding-left: 15px;
color: white;
text-decoration: none;
background: url(img/ao.png) no-repeat left center;
}
a span {
display: inline-block;
height: 33px;
background: url(img/ao.png) no-repeat right center;
padding-right: 15px;
}
</style>
</head>
<body>
<a href="#">
<span>首页 </span>
</a>
</body>
</html>
WeChatナビゲーションバーケース
注:引き戸技術が使用されています
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
background: url(./img/wx.jpg) repeat-x;
}
.nav {
margin-top: 20px;
}
.nav li {
list-style: none;
float: left;
margin: 0px 20px;
}
.nav a {
display: inline-block;
height: 33px;
color: white;
line-height: 33px;
padding-left: 15px;
background: url(./img/to.png) no-repeat left;
}
.nav a span {
display: inline-block;
height: 33px;
padding-right: 15px;
background: url(./img/to.png) no-repeat right;
}
.nav a:hover {
background-image: url(./img/ao.png);
}
.nav a:hover span {
background-image: url(./img/ao.png);
}
</style>
</head>
<body>
<div class="nav">
<ul>
<li>
<a href="#">
<span>首页</span>
</a>
</li>
<li>
<a href="#">
<span>帮助与反馈</span>
</a>
</li>
<li>
<a href="#">
<span>公众平台</span>
</a>
</li>
<li>
<a href="#">
<span>首页</span>
</a>
</li>
</ul>
</div>
</body>
</html>
ネガティブマージンの美しさ
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
div {
float: left;
height: 400px;
width: 400px;
border: 1px solid red;
/* 利用margin负值可以合并边框 */
margin-left: -1px;
margin-top: -1px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
負のマージンはボックスの美しさを際立たせることができます
- 位置決めにより、ボックスを最高点まで持ち上げることができます
- z-indexを使用して、マージンが負のボックスを表示できます。
CSSトライアングルの美しさ
ケーススタディ
次のように進めます
幅と高さがすべて0の場合、三角形の色を維持する必要があり、不要な三角形の色を透明に設定できます。
互換性に注意してください。line-height:0 font-size:0
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div {
width: 0;
height: 0;
border: 10px solid transparent;
border-left: 10px solid #000000;
/* 照顾兼容性 */
line-height: 0;
font-size: 0;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
トライアングルケース
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div {
position: relative;
width: 600px;
height: 600px;
background-color: #0000FF;
margin: 200px auto;
}
p {
position: absolute;
left: 50%;
/* 两个三角的距离的一半 所以-50px */
margin-left: -50px;
/* 两个三角的距离 所以-100px */
margin-top: -100px;
width: 0px;
height: 0px;
border: 50px solid transparent;
border-bottom: 50px solid black;
}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>