figure:last-child { margin-bottom: 0.5rem; }
#write ol, #write ul { position: relative; }
img { max-width: 100%; vertical-align: middle; }
button, input, select, textarea { color: inherit; font: inherit; }
input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
*, ::after, ::before { box-sizing: border-box; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }
p { line-height: inherit; }
h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 2; }
p { orphans: 4; }
h1 { font-size: 2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.6rem; }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.2rem; }
h6 { font-size: 1rem; }
.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }
.hidden { display: none; }
.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
a { cursor: pointer; }
sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }
sup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }
#write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }
figure > table { margin: 0px !important; }
tr { break-inside: avoid; break-after: auto; }
thead { display: table-header-group; }
table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
table.md-table td { min-width: 32px; }
.CodeMirror-gutters { border-right: 0px; background-color: inherit; }
.CodeMirror-linenumber { user-select: none; }
.CodeMirror { text-align: left; }
.CodeMirror-placeholder { opacity: 0.3; }
.CodeMirror pre { padding: 0px 4px; }
.CodeMirror-lines { padding: 0px; }
div.hr:focus { cursor: none; }
#write pre { white-space: pre-wrap; }
#write.fences-no-line-wrapping pre { white-space: pre; }
#write pre.ty-contain-cm { white-space: normal; }
.CodeMirror-gutters { margin-right: 4px; }
.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
.md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
#write .md-fences.mock-cm { white-space: pre-wrap; }
.md-fences.md-fences-with-lineno { padding-left: 0px; }
#write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }
.md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }
.CodeMirror-line, twitterwidget { break-inside: avoid; }
.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
.footnotes + .footnotes { margin-top: 0px; }
.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }
li div { padding-top: 0px; }
blockquote { margin: 1rem 0px; }
li .mathjax-block, li p { margin: 0.5rem 0px; }
li { margin: 0px; position: relative; }
blockquote > :last-child { margin-bottom: 0px; }
blockquote > :first-child, li > :first-child { margin-top: 0px; }
.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
#write .footnote-line { white-space: pre-wrap; }
@media print {
body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; }
#write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }
.typora-export * { -webkit-print-color-adjust: exact; }
html.blink-to-pdf { font-size: 13px; }
.typora-export #write { padding-left: 32px; padding-right: 32px; padding-bottom: 0px; break-after: avoid; }
.typora-export #write::after { height: 0px; }
}
.footnote-line { margin-top: 0.714em; font-size: 0.7em; }
a img, img a { cursor: pointer; }
pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }
p > .md-image:only-child { display: inline-block; width: 100%; }
#write .MathJax_Display { margin: 0.8em 0px 0px; }
.md-math-block { width: 100%; }
.md-math-block:not(:empty)::after { display: none; }
[contenteditable="true"]:active, [contenteditable="true"]:focus { outline: 0px; box-shadow: none; }
.md-task-list-item { position: relative; list-style-type: none; }
.task-list-item.md-task-list-item { padding-left: 0px; }
.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }
.math { font-size: 1rem; }
.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
.md-toc-content { position: relative; margin-left: 0px; }
.md-toc-content::after, .md-toc::after { display: none; }
.md-toc-item { display: block; color: rgb(65, 131, 196); }
.md-toc-item a { text-decoration: none; }
.md-toc-inner:hover { text-decoration: underline; }
.md-toc-inner { display: inline-block; cursor: pointer; }
.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
.md-toc-h2 .md-toc-inner { margin-left: 2em; }
.md-toc-h3 .md-toc-inner { margin-left: 4em; }
.md-toc-h4 .md-toc-inner { margin-left: 6em; }
.md-toc-h5 .md-toc-inner { margin-left: 8em; }
.md-toc-h6 .md-toc-inner { margin-left: 10em; }
@media screen and (max-width: 48em) {
.md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
.md-toc-h4 .md-toc-inner { margin-left: 5em; }
.md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
.md-toc-h6 .md-toc-inner { margin-left: 8em; }
}
a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
.footnote-line a:not(.reversefootnote) { color: inherit; }
.md-attr { display: none; }
.md-fn-count::after { content: "."; }
code, pre, samp, tt { font-family: var(--monospace); }
kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }
.md-comment { color: rgb(162, 127, 3); opacity: 0.8; font-family: var(--monospace); }
code { text-align: left; vertical-align: initial; }
a.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
.md-inline-math .MathJax_SVG .noError { display: none !important; }
.html-for-mac .inline-math-svg .MathJax_SVG { vertical-align: 0.2px; }
.md-math-block .MathJax_SVG_Display { text-align: center; margin: 0px; position: relative; text-indent: 0px; max-width: none; max-height: none; min-height: 0px; min-width: 100%; width: auto; overflow-y: hidden; display: block !important; }
.MathJax_SVG_Display, .md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important; }
.MathJax_SVG .MJX-monospace { font-family: var(--monospace); }
.MathJax_SVG .MJX-sans-serif { font-family: sans-serif; }
.MathJax_SVG { display: inline; font-style: normal; font-weight: 400; line-height: normal; zoom: 90%; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; }
.MathJax_SVG * { transition: none 0s ease 0s; }
.MathJax_SVG_Display svg { vertical-align: middle !important; margin-bottom: 0px !important; margin-top: 0px !important; }
.os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
.md-diagram-panel > svg { max-width: 100%; }
[lang="mermaid"] svg, [lang="flow"] svg { max-width: 100%; height: auto; }
[lang="mermaid"] .node text { font-size: 1rem; }
table tr th { border-bottom: 0px; }
video { max-width: 100%; display: block; margin: 0px auto; }
iframe { max-width: 100%; width: 100%; border: none; }
.highlight td, .highlight tr { border: 0px; }

.CodeMirror { height: auto; }
.CodeMirror.cm-s-inner { background: inherit; }
.CodeMirror-scroll { overflow: auto hidden; z-index: 3; }
.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }
.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }
.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }
.cm-s-inner .cm-number { color: rgb(17, 102, 68); }
.cm-s-inner .cm-def { color: rgb(0, 0, 255); }
.cm-s-inner .cm-variable { color: rgb(0, 0, 0); }
.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
.cm-s-inner .cm-string { color: rgb(170, 17, 17); }
.cm-s-inner .cm-property { color: rgb(0, 0, 0); }
.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }
.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
.cm-s-inner .cm-meta { color: rgb(85, 85, 85); }
.cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }
.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }
.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }
.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }
.cm-negative { color: rgb(221, 68, 68); }
.cm-positive { color: rgb(34, 153, 34); }
.cm-header, .cm-strong { font-weight: 700; }
.cm-del { text-decoration: line-through; }
.cm-em { font-style: italic; }
.cm-link { text-decoration: underline; }
.cm-error { color: red; }
.cm-invalidchar { color: red; }
.cm-constant { color: rgb(38, 139, 210); }
.cm-defined { color: rgb(181, 137, 0); }
div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
.cm-s-inner .CodeMirror-activeline-background { background: inherit; }
.CodeMirror { position: relative; overflow: hidden; }
.CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }
.CodeMirror-sizer { position: relative; }
.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; }
.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }
.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: hidden; }
.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
.CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 30px; z-index: 3; }
.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }
.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
.CodeMirror-lines { cursor: text; }
.CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; overflow-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
.CodeMirror-wrap pre { overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; }
.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
.CodeMirror-linebackground { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 0; }
.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
.cm-searching { background: rgba(255, 255, 0, 0.4); }
@media print {
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
}

:root { --side-bar-bg-color: #fafafa; --control-text-color: #777; }
html { font-size: 16px; }
body { font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; color: rgb(51, 51, 51); line-height: 1.6; }
#write { max-width: 860px; margin: 0px auto; padding: 30px 30px 100px; }
#write > ul:first-child, #write > ol:first-child { margin-top: 30px; }
a { color: rgb(65, 131, 196); }
h1, h2, h3, h4, h5, h6 { position: relative; margin-top: 1rem; margin-bottom: 1rem; font-weight: bold; line-height: 1.4; cursor: text; }
h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { text-decoration: none; }
h1 tt, h1 code { font-size: inherit; }
h2 tt, h2 code { font-size: inherit; }
h3 tt, h3 code { font-size: inherit; }
h4 tt, h4 code { font-size: inherit; }
h5 tt, h5 code { font-size: inherit; }
h6 tt, h6 code { font-size: inherit; }
h1 { padding-bottom: 0.3em; font-size: 2.25em; line-height: 1.2; border-bottom: 1px solid rgb(238, 238, 238); }
h2 { padding-bottom: 0.3em; font-size: 1.75em; line-height: 1.225; border-bottom: 1px solid rgb(238, 238, 238); }
h3 { font-size: 1.5em; line-height: 1.43; }
h4 { font-size: 1.25em; }
h5 { font-size: 1em; }
h6 { font-size: 1em; color: rgb(119, 119, 119); }
p, blockquote, ul, ol, dl, table { margin: 0.8em 0px; }
li > ol, li > ul { margin: 0px; }
hr { height: 2px; padding: 0px; margin: 16px 0px; background-color: rgb(231, 231, 231); border: 0px none; overflow: hidden; box-sizing: content-box; }
li p.first { display: inline-block; }
ul, ol { padding-left: 30px; }
ul:first-child, ol:first-child { margin-top: 0px; }
ul:last-child, ol:last-child { margin-bottom: 0px; }
blockquote { border-left: 4px solid rgb(223, 226, 229); padding: 0px 15px; color: rgb(119, 119, 119); }
blockquote blockquote { padding-right: 0px; }
table { padding: 0px; word-break: initial; }
table tr { border-top: 1px solid rgb(223, 226, 229); margin: 0px; padding: 0px; }
table tr:nth-child(2n), thead { background-color: rgb(248, 248, 248); }
table tr th { font-weight: bold; border-width: 1px 1px 0px; border-top-style: solid; border-right-style: solid; border-left-style: solid; border-top-color: rgb(223, 226, 229); border-right-color: rgb(223, 226, 229); border-left-color: rgb(223, 226, 229); border-image: initial; border-bottom-style: initial; border-bottom-color: initial; margin: 0px; padding: 6px 13px; }
table tr td { border: 1px solid rgb(223, 226, 229); margin: 0px; padding: 6px 13px; }
table tr th:first-child, table tr td:first-child { margin-top: 0px; }
table tr th:last-child, table tr td:last-child { margin-bottom: 0px; }
.CodeMirror-lines { padding-left: 4px; }
.code-tooltip { box-shadow: rgba(0, 28, 36, 0.3) 0px 1px 1px 0px; border-top: 1px solid rgb(238, 242, 242); }
.md-fences, code, tt { border: 1px solid rgb(231, 234, 237); background-color: rgb(248, 248, 248); border-radius: 3px; padding: 2px 4px 0px; font-size: 0.9em; }
code { background-color: rgb(243, 244, 244); padding: 0px 2px; }
.md-fences { margin-bottom: 15px; margin-top: 15px; padding-top: 8px; padding-bottom: 6px; }
.md-task-list-item > input { margin-left: -1.3em; }
@media print {
html { font-size: 13px; }
table, pre { break-inside: avoid; }
pre { overflow-wrap: break-word; }
}
.md-fences { background-color: rgb(248, 248, 248); }
#write pre.md-meta-block { padding: 1rem; font-size: 85%; line-height: 1.45; background-color: rgb(247, 247, 247); border: 0px; border-radius: 3px; color: rgb(119, 119, 119); margin-top: 0px !important; }
.mathjax-block > .code-tooltip { bottom: 0.375rem; }
.md-mathjax-midline { background: rgb(250, 250, 250); }
#write > h3.md-focus::before { left: -1.5625rem; top: 0.375rem; }
#write > h4.md-focus::before { left: -1.5625rem; top: 0.285714rem; }
#write > h5.md-focus::before { left: -1.5625rem; top: 0.285714rem; }
#write > h6.md-focus::before { left: -1.5625rem; top: 0.285714rem; }
.md-image > .md-meta { border-radius: 3px; padding: 2px 0px 0px 4px; font-size: 0.9em; color: inherit; }
.md-tag { color: rgb(167, 167, 167); opacity: 1; }
.md-toc { margin-top: 20px; padding-bottom: 20px; }
.sidebar-tabs { border-bottom: none; }
#typora-quick-open { border: 1px solid rgb(221, 221, 221); background-color: rgb(248, 248, 248); }
#typora-quick-open-item { background-color: rgb(250, 250, 250); border-color: rgb(254, 254, 254) rgb(229, 229, 229) rgb(229, 229, 229) rgb(238, 238, 238); border-style: solid; border-width: 1px; }
.on-focus-mode blockquote { border-left-color: rgba(85, 85, 85, 0.12); }
header, .context-menu, .megamenu-content, footer { font-family: "Segoe UI", Arial, sans-serif; }
.file-node-content:hover .file-node-icon, .file-node-content:hover .file-node-open-state { visibility: visible; }
.mac-seamless-mode #typora-sidebar { background-color: var(--side-bar-bg-color); }
.md-lang { color: rgb(180, 101, 77); }
.html-for-mac .context-menu { --item-hover-bg-color: #E6F0FE; }
#md-notification .btn { border: 0px; }
.dropdown-menu .divider { border-color: rgb(229, 229, 229); }
.ty-preferences .window-content { background-color: rgb(250, 250, 250); }
.ty-preferences .nav-group-item.active { color: white; background: rgb(153, 153, 153); }
-->

前端之CSS初识

之前我们介绍了HTML,今天我们就开始介绍CSS,我们都知道,CSS的作用就是定义如何显示HTML元素.实际情况是,当浏览器读到一个样式表(也即是CSS)时,浏览器就会按照这个样式表来对文档(也就是HTML)进行格式化(或者说渲染)

每个CSS样式都是由两个组成部分:选择器和声明.

 
 
 
 
 
 
 
 
1
h1   {color:blue;font-size:14px}
2
选择器   声明  属性   值   声明       值
 
 

选择器

标签选择器

 
 
 
​x
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        div{
6
            color: #40A070;
7
        }
8
    </style>
9
</head>
10
<body>
11
<!--标签选择器,只要是这个标签,都会被选中,无论层级关系-->
12
<div>父亲
13
    <div>儿子</div>
14
</div>
15
<div>nihao</div>
16
17
<!--标签的嵌套-->
18
<div>父亲
19
    <div>儿子</div>
20
</div>
21
<!--关于标签嵌套,通常块级元素可以包含内联元素或者某些块级元素,但是内联元素不能包含块级元素,它只能包含其他内联元素-->
22
<!--p标签不能包含块级标签,p标签也不能包含p标签,所以下面这种p标签的用法,在实际网页展示的时候网页会自动把里面的内容拿出来-->
23
<p>1111
24
    <p>2222</p>3333
25
</p>
26
</body>
 
 

id选择器

 
 
 
xxxxxxxxxx
14
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
    /*选择id的话用 # + a 来选择id*/
6
        #a{
7
            color: red;
8
        }
9
    </style>
10
</head>
11
<body>
12
13
<div id="a">nihao</div>
14
</body>
 
 

类选择器

 
 
 
xxxxxxxxxx
19
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
    /*选择类的话用 . + a 来选择类*/
6
        .p {
7
            color: red;
8
        }
9
10
        .a {
11
            font-size: 40px;
12
        }
13
    </style>
14
</head>
15
<body>
16
17
<div class="p a">nihao</div>
18
<div class="a">lalalla</div>
19
</body>
 
 

通用选择器

 
 
 
xxxxxxxxxx
17
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
    /*星号就是选择全部,即body里面的所有标签里的内容都会应用这个格式*/
6
        *{
7
            color: red;
8
        }
9
    </style>
10
</head>
11
<body>
12
13
<div>111</div>
14
<span>222</span>
15
<p>333</p>
16
17
</body>
 
 

后代选择器(重要)

 
 
 
xxxxxxxxxx
27
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*后代选择器,主要是通过空格来实现后代的选择,通常需要用到id或者class*/
6
         div .a {
7
            color: red;
8
        }
9
        .c .a{
10
            color: red;
11
        }
12
        div div{
13
            color: #40A070;
14
        }
15
    </style>
16
</head>
17
<body>
18
19
<!--后代选择器-->
20
<div id="b" class="c">000
21
    <div>111</div>
22
    <div class="a">222
23
        <div>333</div>
24
    </div>
25
</div>
26
27
</body>
 
 

儿子选择器

 
 
 
xxxxxxxxxx
22
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*儿子选择器,实现方式是通过>,可以实现从最上级往下寻找,要注意一点的是,color这个属性是会自动继承的,最好不要用来实验*/
6
        .a>div{
7
            background-color: #3962ff;
8
            height: 20px;
9
            width: 100px;
10
        }
11
    </style>
12
</head>
13
<body>
14
15
<!--儿子选择器-->
16
<div class="a">1
17
    <div class="b">2
18
        <div class="c">3</div>
19
    </div>
20
</div>
21
22
</body>
 
 

毗邻选择器

 
 
 
xxxxxxxxxx
17
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*毗邻选择器,实现方式是通过+,注意,只有加号,并没有减号,而且只支持向下相邻选择,不能向上选择*/
6
        div + p {
7
            color: #40A070;
8
        }
9
    </style>
10
</head>
11
<body>
12
<!--毗邻选择器-->
13
<p>444</p>
14
<div>111</div>
15
<p>222</p>
16
<p>333</p>
17
</body>
 
 

兄弟选择器

 
 
 
xxxxxxxxxx
23
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*兄弟选择器,实现方式是通过~,也就是可以通过兄弟选择器找到同一级别的所有标签,所以叫兄弟选择器*/
6
        span~.a{
7
            color: red;
8
        }
9
    </style>
10
</head>
11
<body>
12
13
<!--兄弟选择器-->
14
<div>
15
    <span>span</span>
16
    <h1 class="a">h1</h1>
17
    <h2 class="a">h2</h2>
18
    <p>p</p>
19
    <h4 class="a">h4</h4>
20
</div>
21
<p class="a">p1</p>
22
23
</body>
 
 

属性选择器

 
 
 
xxxxxxxxxx
21
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*属性选择器,通过中括号里面写入要选择的属性,类似于字典的key值,依次来选择数据*/
6
        div[name]{
7
            color: red;
8
        }
9
        div[name="123"]{
10
            color: red;
11
        }
12
    </style>
13
</head>
14
<body>
15
    
16
<!--属性选择器-->
17
<div name = "123">div</div>
18
<div name = "456">我是div</div>
19
<div>没有属性的div</div>
20
21
</body>
 
 

组合选择器(重要)

 
 
 
xxxxxxxxxx
27
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*组合选择器,用逗号来同时赋予格式,经常用于和其他选择器联用,日后常用,需牢记*/
6
        div, p {
7
            color: red
8
        }
9
        div .b .a, p {
10
            color: red
11
        }
12
    </style>
13
</head>
14
<body>
15
16
<!--组合选择器-->
17
<div>div
18
    <div class="b">345
19
        <div class="a">123</div>
20
    </div>
21
    <div class="a">
22
        678
23
    </div>
24
</div>
25
<p>p</p>
26
27
</body>
 
 

CSS属性相关

文字属性

 
 
 
xxxxxxxxxx
1
66
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*text-align文字对齐的方式
6
        left 左对齐
7
        right 右对齐
8
        center 居中对齐
9
        justify 两端对齐
10
        */
11
        /*div {*/
12
        /*    width: 100px;*/
13
        /*    background-color: yellow;*/
14
        /*    text-align: center;*/
15
        /*}*/
16
17
        /*文字的装饰,特殊效果 text-decoration
18
        none 默认
19
        underline 文本下划线
20
        overline 文本上划线
21
        line-through 穿过文本的线
22
        */
23
        div {
24
            width: 100px;
25
            background-color: pink;
26
            /*text-decoration: underline;*/
27
            /*text-decoration: overline;*/
28
            text-decoration: line-through;
29
        }
30
31
        /*可以手动清除a标签的下划线*/
32
        a {
33
            text-decoration: none;
34
        }
35
36
        /*把无序列表前面的点符号去掉*/
37
        li {
38
            list-style: none;
39
        }
40
41
        /*缩进,p和div可以,span不可以缩进,因为span是行级标签,所以很多格式都不能适用,但span的字符间距(letter-spacing 像素) 可以调整*/
42
        /*p, span, div {*/
43
        /*    !*缩进*!*/
44
        /*    text-indent: 32px;*/
45
        /*    !*字间距*!*/
46
        /*    letter-spacing: 10px;*/
47
        /*}*/
48
49
        /*控制行高,仅针对块级标签,行级无效*/
50
        div {
51
            width: 400px;
52
            height: 200px;
53
            background-color: yellow;
54
            text-align: center;
55
            line-height: 200px;
56
        }
57
58
59
    </style>
60
</head>
61
<body>
62
63
<div>你好呀</div>
64
<a href="">alalala</a>
65
66
<ul>
67
    <li>123</li>
68
    <li>456</li>
69
    <li>789</li>
70
</ul>
71
72
<p>hello world</p>
73
<span>hello world</span>
74
<div>hello world</div>
75
76
</body>
 
 

背景属性

 
 
 
xxxxxxxxxx
1
34
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*背景图片,全填充
6
        background-color 设置背景的颜色
7
        background-image 设置背景为图片
8
        background-repeat 背景图片的重复方式
9
        repeat 铺满整个网页
10
        repeat-x 水平方向平铺
11
        repeat-y 垂直方向平铺
12
        no-repeat 不平铺
13
        */
14
        /*div {*/
15
        /*    height: 100px;*/
16
        /*    background-color: green;*/
17
        /*    background-image: url("");*/
18
        /*    */
19
        /*    !*不要平铺*!*/
20
        /*    !*这样设置背景的话不会影响文字的显示*!*/
21
        /*    background-repeat: no-repeat;*/
22
        /*    */
23
        /*    !*水平,垂直方向平铺*!*/
24
        /*    !*background-repeat: repeat-x;*!*/
25
        /*    !*background-repeat: repeat-y;*!*/
26
        /*}*/
27
28
        div {
29
            height: 100px;
30
            width: 100px;
31
            background-image: url("");
32
            /*两个参数,第一个是左位置,第二个是右位置,通常用来取网页上移动的小图标*/
33
            background-position: 200px, 200px;
34
        }
35
36
    </style>
37
</head>
38
<body>
39
40
<div>lalala</div>
41
42
</body>
 
 

边框属性

 
 
 
x
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        div {
6
            /*控制边框的属性
7
            border: 颜色 线条实虚 线条粗细
8
            border-top
9
            border-left
10
            border-bottom
11
            border-right
12
            border-radius 将其设置为50%可以得到一个圆形
13
            */
14
            height: 100px;
15
            width: 100px;
16
            /*颜色 虚线/实线 线条粗细*/
17
            /*
18
            solid 实线边框  
19
            dootted 点状虚线边框  
20
            dashed 矩形虚线边框
21
            */
22
            border: green solid 10px;
23
24
            /*可以为单个边设置格式*/
25
            /*border-top: green solid 10px;*/
26
27
            border-radius: 20%;
28
        }
29
    </style>
30
</head>
31
<body>
32
33
<div></div>
34
35
</body>
 
 

display属性

 
 
 
x
 
 
 
 
1
<head>
2
    <meta charset="UTF-8">
3
    <title>Title</title>
4
    <style>
5
        /*div {*/
6
        /*    !*要把标签内内容隐藏设置成none*!*/
7
        /*    !*display: none;*!*/
8
9
        /*    !*把块级标签转换成行内标签,即内容可以同行*!*/
10
        /*    display: inline;*/
11
        /*}*/
12
13
        /*span {*/
14
        /*    !*把行级标签转换成块级标签,然后就可以设置宽和高*!*/
15
        /*    display: block;*/
16
        /*    height: 200px;*/
17
        /*    width: 349px;*/
18
        /*    background-color: orange;*/
19
        /*}*/
20
21
        .a {
22
            width: 400px;
23
            height: 300px;
24
            background-color: green;
25
            /*visibility: hidden这种隐藏方式和none不同,即便隐藏还会占据原位置,而none不会,none是完全隐藏,不会占据位置*/
26
            visibility: hidden;
27
        }
28
29
        .b {
30
            width: 400px;
31
            height: 300px;
32
            background-color: red;
33
            /*display: none;*/
34
        }
35
        .a,.b{
36
            /*同时具有行和块的属性,inline-block*/
37
            display: inline-block;
38
        }
39
40
    </style>
41
</head>
42
<body>
43
44
<div class="a">123</div>
45
<span>456</span>
46
<div class="b">789</div>
47
48
</body>
 
 

CSS盒子模型

 
 
 
xxxxxxxxxx
1
59
 
 
 
 
1
/*盒子模型主要运行的两个属性是margin和padding*/
2
<head>
3
    <meta charset="UTF-8">
4
    <title>Title</title>
5
    <style>
6
        /*开头输入这个可以清除原有的所有盒子模型的格式*/
7
        * {
8
            margin: 0;*/
9
            padding: 0;*/
10
        }
11
        /*.a {*/
12
        /*    height: 400px;*/
13
        /*    width: 400px;*/
14
        /*    border: black 1px solid;*/
15
        /*    !*margin-bottom: 20px;*!*/
16
        /*    !*margin-left: 40px;*!*/
17
        /*    !*margin的参数顺序,如果是四个参数,方向分别是 上-右-下-左*!*/
18
        /*    !*如果是两个参数分别是,上-下,左-右*!*/
19
        /*    !*如果是一个参数,就是四边的*!*/
20
        /*    margin: 20px 30px 40px 50px;*/
21
        /*}*/
22
        /*!*相邻的margin会取最大值,并不会叠加*!*/
23
        /*.b {*/
24
        /*    width: 300px;*/
25
        /*    height: 400px;*/
26
        /*    border: red 1px solid;*/
27
        /*    !*margin-top: 35px;*!*/
28
        /*}*/
29
        /*.c {*/
30
        /*    width: 20px;*/
31
        /*    height: 20px;*/
32
        /*    background-color: orange;*/
33
        /*    margin: 0 auto;*/
34
        /*}*/
35
36
37
        /*属性padding*/
38
        /*div {*/
39
        /*    width: 400px;*/
40
        /*    height: 400px;*/
41
        /*    border: orange solid 2px;*/
42
        /*    !*padding-left: 30px;*!*/
43
        /*    !*padding-top: 300px;*!*/
44
        /*    !*顺序和margin相同,上-右-下-左*!*/
45
        /*    padding: 0 0 0 0;*/
46
        }
47
    </style>
48
</head>
49
<body>
50
<!--margin-->
51
<div class="a">11111
52
    <div class="c">33</div>
53
</div>
54
55
<div class="b">22222</div>
56
57
58
<!--padding-->
59
<div>111</div>
60
61
62
</body>
 
 

浮动

 
 
 
xxxxxxxxxx
1
58
 
 
 
 
1
/*浮动本身很简单,就是把元素浮动在页面的最左或者最右边(float right/left),但是浮动会产生一些问题,就是如果对父标签的子标签赋予浮动的属性,而父标签长度不够的情况下,很可能父标签会出现塌陷的情况,
2
常见解决方法有三种,如下*/
3
<head>
4
    <meta charset="UTF-8">
5
    <title>Title</title>
6
    <style>
7
        .a, .b, .c {
8
            width: 250px;
9
            height: 250px;
10
        }
11
        .a {
12
            background-color: red;
13
            float: left;
14
        }
15
        .b {
16
            background-color: black;
17
            float: right;
18
        }
19
        .c {
20
            background-color: orange;
21
            float: right;
22
        }
23
        .p {
24
            /*边框包裹浮动标签有可能会溢出,清除浮动*/
25
            /*解决方法:
26
            1. 通过给父级标签设定高度
27
            2. 伪元素清除法,通过在最后定义一个clear,然后style clear:both可以清除浮动
28
            3. overflow:hidden
29
            */
30
            border: gold solid 2px;
31
            /*height: 300px;*/
32
        }
33
        /*.clear{*/
34
        /*    clear: both;*/
35
        /*}*/
36
        .clearfix:after {
37
            content: "";
38
            display: block;
39
            clear: both;
40
        }
41
    </style>
42
</head>
43
<body>
44
<div class="p">
45
    <div class="a">111</div>
46
    <div class="b">222</div>
47
    <div class="c">333</div>
48
    <div class="clear"></div>
49
</div>
50
</body>
 
 

overflow

 
 
 
xxxxxxxxxx
1
30
 
 
 
 
1
/*overflow的值如下:
2
visible 默认值
3
hidden 超出边框的内容会被隐藏,不可见
4
scroll 超出边框的内容会被隐藏,但是可以通过进度条滚动查看其余内容
5
*/
6
<head>
7
    <meta charset="UTF-8">
8
    <title>Title</title>
9
    <style>
10
        div {
11
            width: 200px;
12
            height: 200px;
13
            border: gold solid 2px;
14
15
            /*scroll是滚动条查看图片,hidden会隐藏超出范围的图片*/
16
            /*overflow: scroll;*/
17
            /*overflow: hidden;*/
18
19
            border-radius: 50%;
20
        }
21
        img{
22
            /*实际图片多于这个宽度的会压缩*/
23
            max-width: 200px;
24
            /*实际图片少于这个高度的会拉长*/
25
            min-height: 200px;
26
        }
27
    </style>
28
</head>
29
<body>
30
31
<div>
32
    <img src="" alt="">
33
</div>
34
35
</body>
 
 

定位position

 
 
 
x
 
 
 
 
1
/*position的定位可选值如下:
2
relative 相对定位
3
absolute 绝对定位
4
fixed 固定定位
5
*/
6
<head>
7
    <meta charset="UTF-8">
8
    <title>Title</title>
9
    <style>
10
        * {
11
            margin: 0;
12
        }
13
14
        /*div {*/
15
        /*    width: 200px;*/
16
        /*    height: 200px;*/
17
        /*    background-color: gold;*/
18
        /*    !*相对定位*!*/
19
        /*    position: relative;*/
20
        /*    !*距离上边之前的位置*!*/
21
        /*    top: 20px;*/
22
        /*    !*距离左边之前的位置*!*/
23
        /*    left: 20px;*/
24
        /*}*/
25
26
        .a {
27
            width: 400px;
28
            height: 400px;
29
            background-color: gold;
30
            /*父级标签,相对定位*/
31
            position: relative;
32
            float: right;
33
        }
34
        .b {
35
            width: 200px;
36
            height: 200px;
37
            background-color: red;
38
            /*子标签,绝对定位,会跟着父级标签一起移动*/
39
            position: absolute;
40
            top: 40px;
41
        }
42
        .c{
43
            width: 400px;
44
            height: 400px;
45
            background-color: black;
46
            /*固定定位*/
47
            position: fixed;
48
            bottom: 10px;
49
            right: 10px;
50
        }
51
    </style>
52
</head>
53
<body>
54
55
<!--相对定位-->
56
<!--<div></div>-->
57
<!--绝对定位-->
58
59
<div class="a">
60
    <div class="b"></div>
61
</div>
62
<div class="c">固定定位</div>
63
</body>
 
 

z-index,opacity和模态框

 
 
 
xxxxxxxxxx
1
36
 
 
1
/*z-index本身是对象的层叠顺序,默认为0,即大于这个值就可以优先生效,优先显示,且只有定位了的元素,或者说标签,才能有z-index
2
opacity 透明度,范围是0~1, 0是全透明,1是全完全不透明*/
3
4
<head>
5
    <meta charset="UTF-8">
6
    <title>Title</title>
7
    <style>
8
        .a {
9
            position: fixed;
10
            /*透明度,0-1,0是全透明,1是全实,会把背景和字体都变透明*/
11
            /*opacity: 0.5;*/
12
            top: 0;
13
            bottom: 0;
14
            left: 0;
15
            right: 0;
 
 
16
            /*只会让背景透明*/
17
            background-color: rgba(255, 192, 203,0.4);
18
            /*z-index默认是0,如果设置成比0大的数,就会在0前面显示*/
19
            z-index: 200;
20
        }
21
22
        .b {
23
            position: fixed;
24
            width: 200px;
25
            height: 200px;
26
            background-color: white;
27
            z-index: 201;
28
            top: 50%;
29
            left: 50%;
30
            margin: -100px 0 0 -100px;
31
        }
32
    </style>
33
</head>
34
<body>
35
36
<div class="a">111</div>
37
<div class="b">222</div>
38
39
</body>
 
 

前端之CSS初识的更多相关文章

  1. 2020年12月-第02阶段-前端基础-CSS初识

    CSS层叠样式表 理解 css的目的作用 css的三种引入方式 1.HTML的局限性 说起HTML,这其实是个非常单纯的家伙, 他只关注内容的语义, 比如`<h1>`表明这是一个大标题,用 ...

  2. 0008 CSS初识(行内式、内部样式表、外部样式表)

    typora-copy-images-to: media 第01阶段.前端基础.CSS初识 CSS层叠样式表 学习目标 理解 css的目的作用 css的三种引入方式 应用 css三种引用方式的书写 通 ...

  3. 前端07 /jQuery初识

    前端07 /jQuery初识 目录 前端07 /jQuery初识 1.jquery介绍 1.1 jquery的优势 1.2 jquery是什么? 1.3 jquery的导入 2.jQuery的使用 2 ...

  4. 前端开发css实战:使用css制作网页中的多级菜单

    前端开发css实战:使用css制作网页中的多级菜单 在日常工作中,大家都会遇到一些显示隐藏类菜单,比如页头导航.二维码显示隐藏.文本提示等等......而这些效果都是可以使用纯css实现的(而且非常简 ...

  5. 前端之css

    前端之css 本节内容 css概述及引入 css选择器 css常用属性 1.css概述及引入 CSS概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数 ...

  6. WEB前端开发CSS基础样式全面总结

    Web前端开发css基础样式全面总结 颜色和单位的使用 颜色 用颜色的名字表示颜色,比如:red 用16进制表示演示 比如:#FF0000 用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-2 ...

  7. 前端js,css文件合并三种方式,bat命令

    前端js,css文件合并三种方式,bat命令 前端js文件该如何合并三个方式如下:1. 一个大文件,所有js合并成一个大文件,所有页面都引用它.2. 各个页面大文件,各自页面合并生成自己所需js的大文 ...

  8. 第二篇:web之前端之css

    前端之css   前端之css 本节内容 css概述及引入 css选择器 css常用属性 1.css概述及引入 CSS概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式 ...

  9. 好程序员web前端分享css常用属性缩写

    好程序员web前端分享css常用属性缩写,使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则如下: 颜色 16进制的色彩值,如果每两位的值相同,可以缩写一半,例如: #0000 ...

随机推荐

  1. iOS 工程实现native 跳转指定的Flutter 页面

    概要 在前一篇文章中我们提到,iOS跳转到Flutter工程指定页面时(多个),Flutter只有单例,设置setInitialRouter 无效,如下 let flutterViewControll ...

  2. Spark与Hadoop的对比

  3. gcc 4步编译过程

    一. gcc编译过程  1. 预处理: 主要进行宏替换以及头文件的展开  gcc  -E   *.c  -o  *.i 2.  编译::编译生成汇编文件,会检查语法错误   gcc  -S   *.i ...

  4. python open函数关于w+ r+ 读写操作的理解(转)

    r 只能读 (带r的文件必须先存在)r+ 可读可写 不会创建不存在的文件.如果直接写文件,则从顶部开始写,覆盖之前此位置的内容,如果先读后写,则会在文件最后追加内容.w+ 可读可写 如果文件存在 则覆 ...

  5. vue 项目 去哪儿

    去哪儿项目 使用vue +vue-router+vuex +axios完成,包括3个部分内容 1.首页演示,包括首页header,首页轮播图,周末去哪儿,热销推荐开发 2.城市列表页面开发 ,包括城市 ...

  6. Java学习 时间类 Period类与Duration类 / LocalDate类与Instant类 用法详解

    前言 java 8 中引入的两个与日期相关的新类:Period 和 Duration.两个类看表示时间量或两个日期之间的差,两者之间的差异为:Period基于日期值,而Duration基于时间值.他们 ...

  7. postman在有登录认证的情况下进行接口测试!!!

    1.启动自己的项目之后直接使用浏览器进行登录,登陆之后随意点击一个请求,F12找到该请求中请求头的Cookie键值对. 2.将该键值对复制粘贴到postman中的请求Headers中,如下图. 3,请 ...

  8. php抓取远程数据显示在下拉列表中

    前言:周五10月20日的时候,经理让做一个插件,使用的thinkphp做这个demo 使用CURL抓取远程数据时如果出现乱码问题可以加入 header("content-type:text/ ...

  9. Vue+Iview+Node 登录demo

    1.相关组件安装 axios  iview  js-cookie  crypto-js 2.子父组件传值.监听窗体大小改变.记住密码 .自定义组件(事件 .props) created:实例已经创建完 ...

  10. LOJ#6437. 「PKUSC2018」PKUSC

    题面 题意转化为: 判断每个点所在的圆有多长的弧度角位于多边形内部. 然后就很暴力了. 每个点P,直接找到多边形和这个圆的所有交点,按照距离P的角度排序. 找交点,直接联立二元二次方程组.... 需要 ...