CSS的学习
<h1 class="md-end-block md-heading"><span class="md-plain md-expand">1.CSS</span></h1><h2 class="md-end-block md-heading"><span class="md-plain">1.1什么是CSS</span></h2>
<p class="md-end-block md-p"><span class="md-plain">Cascading Style Sheets—>层叠级联样式表</span></p>
<p class="md-end-block md-p md-focus"><span class="md-plain md-expand">CSS:表现层~(用于美化网页)</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">如字体、颜色等</span></span></p>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094201448-839714267.png"></p>
<h2 class="md-end-block md-heading"><span class="md-plain">1.2CSS发展史</span></h2>
<p class="md-end-block md-p"><span class="md-plain">CSS1.0</span></p>
<p class="md-end-block md-p"><span class="md-plain">CSS2.0:DIV(块)+CSS,HTML与CSS结构分离的思想,网页变得简单,SEO</span></p>
<p class="md-end-block md-p"><span class="md-plain">CSS2.1:浮动,定位</span></p>
<p class="md-end-block md-p"><span class="md-plain">CSS3.0:圆角边框,阴影,动画……,浏览器兼容性~</span></p>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094217738-65878625.png"></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">⬆联系格式</span></span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">1.3快速入门</span></h2>
<p class="md-end-block md-p"><span class="md-plain">style</span></p>
<p class="md-end-block md-p"><span class="md-plain">基本入门</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-meta"><!DOCTYPE html><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">html <span class="cm-attribute">lang=<span class="cm-string">"en"<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">meta <span class="cm-attribute">charset=<span class="cm-string">"UTF-8"<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">title<span class="cm-tag cm-bracket">>Title<span class="cm-tag cm-bracket"></<span class="cm-tag">title<span class="cm-tag cm-bracket">><br><span><span><br><span> <span class="cm-comment"><!--规范,<style>可以编写css的代码,每一个声明语句最好使用分号结尾<br><span> <span class="cm-comment">语法:<br><span> <span class="cm-comment">选择器{<br><span> <span class="cm-comment">声明1;<br><span> <span class="cm-comment">声明2;<br><span> <span class="cm-comment">声明3;<br><span> <span class="cm-comment">}<br><span> <span class="cm-comment">--><br><span><span><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag">h1{<br><span> <span class="cm-property">color: <span class="cm-keyword">red;<br><span> }<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span><span><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">h1<span class="cm-tag cm-bracket">>我是标题<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">html<span class="cm-tag cm-bracket">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">建议使用下面这种规范</span></p>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094227214-1457212692.png"></p>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain">css的优势:</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">内容和表现分离</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">网页结构表现统一,可以实现复用</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">样式十分丰富</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">建议使用独立于html的css文件</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">利于SEO,容易被搜索引擎收录!</span></p>
</li>
</ol>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">1.4CSS的三种导入方式</span></h2>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-meta"><!DOCTYPE html><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">html <span class="cm-attribute">lang=<span class="cm-string">"en"<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">meta <span class="cm-attribute">charset=<span class="cm-string">"UTF-8"<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">title<span class="cm-tag cm-bracket">>Title<span class="cm-tag cm-bracket"></<span class="cm-tag">title<span class="cm-tag cm-bracket">><br><span><span><br><span> <span class="cm-comment"><!-- 内部样式 --><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag">h1{<br><span> <span class="cm-property">color: <span class="cm-keyword">green;<br><span> }<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span> <span class="cm-comment"><!--外部样式--><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">link <span class="cm-attribute">rel=<span class="cm-string">"stylesheet" <span class="cm-attribute">href=<span class="cm-string">"style.css"<span class="cm-tag cm-bracket">><br><span><span><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span><br><span><span class="cm-comment"><!--优先级:就近原则--><br><span><span class="cm-comment"><!-- 行内样式,在标签元素中,编写一个style属性,编写样式即可--><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">h1 <span class="cm-attribute">style = <span class="cm-string">"color:red;"<span class="cm-tag cm-bracket">>我是标题<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">html<span class="cm-tag cm-bracket">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">拓展:外部样式两种写法</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">导入式:</span></p>
<p class="md-end-block md-p"><span class="md-plain">@inport是CSS 2.1特有的</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-comment"><!--导入式--><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span> <span class="cm-def">@import <span class="cm-atom">url(<span class="cm-string">"style.css");<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">style<span class="cm-tag cm-bracket">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"> </p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">链接式</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span> <span class="cm-comment"><!--外部样式--><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">link <span class="cm-attribute">rel=<span class="cm-string">"stylesheet" <span class="cm-attribute">href=<span class="cm-string">"style.css"<span class="cm-tag cm-bracket">></span></span></span></span></span></span></span></span></span></span></pre>
</li>
</ul>
<p class="md-end-block md-p"> </p>
<h1 class="md-end-block md-heading"><span class="md-plain">2.选择器</span></h1>
<p class="md-end-block md-p"><span class="md-plain">作用:选择页面上的某一个或者某一类元素</span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">2.1基本选择器</span></h2>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">标签选择器:选择一类标签 标签{}</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-meta"><!DOCTYPE html><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">html <span class="cm-attribute">lang=<span class="cm-string">"en"<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">meta <span class="cm-attribute">charset=<span class="cm-string">"UTF-8"<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">title<span class="cm-tag cm-bracket">>Title<span class="cm-tag cm-bracket"></<span class="cm-tag">title<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag">h1{<br><span> <span class="cm-property">color: <span class="cm-keyword">red;<br><span> <span class="cm-property">background: <span class="cm-atom">#23d9cc;<br><span> <span class="cm-property">border-radius: <span class="cm-number">24px;<br><span> }<br><span> <span class="cm-tag">p{<br><span> <span class="cm-property">font-size: <span class="cm-number">80px;<br><span> }<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span> 哎哟不错哦<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span> 哎哟不错哦<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">p<span class="cm-tag cm-bracket">><br><span> 有一说一<br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">p<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">html<span class="cm-tag cm-bracket">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"> </p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">类选择器 class:选择所有class属性一致的标签,跨标签。.类名{}</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-meta"><!DOCTYPE html><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">html <span class="cm-attribute">lang=<span class="cm-string">"en"<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">meta <span class="cm-attribute">charset=<span class="cm-string">"UTF-8"<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">title<span class="cm-tag cm-bracket">>Title<span class="cm-tag cm-bracket"></<span class="cm-tag">title<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span> <span class="cm-comment">/*好处,可以多个标签归类,是同一个class,可以复用*/<br><span> <span class="cm-qualifier">.a{<br><span> <span class="cm-property">color: <span class="cm-keyword">aqua;<br><span> }<br><span> <span class="cm-qualifier">.b{<br><span> <span class="cm-property">color: <span class="cm-keyword">green;<br><span> }<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span><span><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">h1 <span class="cm-attribute">class=<span class="cm-string">"a"<span class="cm-tag cm-bracket">>标题一<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">h1 <span class="cm-attribute">class=<span class="cm-string">"b"<span class="cm-tag cm-bracket">>标题二<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">h1 <span class="cm-attribute">class=<span class="cm-string">"a"<span class="cm-tag cm-bracket">>标题三<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">p <span class="cm-attribute">class=<span class="cm-string">"a"<span class="cm-tag cm-bracket">>标签一<span class="cm-tag cm-bracket"></<span class="cm-tag">p<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">html<span class="cm-tag cm-bracket">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"> </p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">ID选择器:全局唯一!#id名{}</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-meta"><!DOCTYPE html><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">html <span class="cm-attribute">lang=<span class="cm-string">"en"<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">meta <span class="cm-attribute">charset=<span class="cm-string">"UTF-8"<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">title<span class="cm-tag cm-bracket">>Title<span class="cm-tag cm-bracket"></<span class="cm-tag">title<span class="cm-tag cm-bracket">><br><span> <span class="cm-tag cm-bracket"><<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span> <span class="cm-comment">/*id选择器 : id必须保证全局唯一<br><span><span class="cm-comment"> #id名称{<br><span><span class="cm-comment"> 不遵循就近原则,固定的:id选择器>类选择器>标签选择器<br><span><span class="cm-comment"> }<br><span><span class="cm-comment"> */<br><span> <span class="cm-builtin">#qinjiang{<br><span> <span class="cm-property">color: <span class="cm-keyword">red;<br><span> }<br><span> <span class="cm-qualifier">.ab{<br><span> <span class="cm-property">color: <span class="cm-keyword">green;<br><span> }<br><span> <span class="cm-tag">h1{<br><span> <span class="cm-property">color: <span class="cm-keyword">bisque;<br><span> }<br><span> <span class="cm-tag cm-bracket"></<span class="cm-tag">style<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">head<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">h1 <span class="cm-attribute">id=<span class="cm-string">"qinjiang"<span class="cm-attribute">class=<span class="cm-string">"a"<span class="cm-tag cm-bracket">>标题1<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">h1 <span class="cm-attribute">class=<span class="cm-string">"ab"<span class="cm-tag cm-bracket">>标题2<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">h1 <span class="cm-attribute">class=<span class="cm-string">"ab"<span class="cm-tag cm-bracket">>标题3<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">h1<span class="cm-tag cm-bracket">>标题4<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"><<span class="cm-tag">h1<span class="cm-tag cm-bracket">>标题5<span class="cm-tag cm-bracket"></<span class="cm-tag">h1<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">body<span class="cm-tag cm-bracket">><br><span><span class="cm-tag cm-bracket"></<span class="cm-tag">html<span class="cm-tag cm-bracket">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"> </p>
</li>
</ol>
<h2 class="md-end-block md-heading"><span class="md-plain">2.2层次选择器</span></h2>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">后代选择器:在某个元素的后面的所有元素 (祖爷爷 爷爷 爸爸 你)</span></p>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-comment">/*后代选择器*/<br><span> <span class="cm-tag">body <span class="cm-tag">p{<br><span> <span class="cm-property">background: <span class="cm-keyword">red;<br><span> }</span></span></span></span></span></span></span></span></span></pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">子选择器:下一代</span></p>
<pre class="md-fences mock-cm md-end-block">/*子选择器*/
body>p{
background: bisque;
}</pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">相邻兄弟选择器:同辈(只有一个且对下不对上,用.class+来实现)</span></p>
<pre class="md-fences mock-cm md-end-block">/*相邻兄弟选择器*/
.abc + p{
background: blue;
}</pre>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">通用选择器:同辈,对下且全对,用.class~实习</span></p>
<pre class="md-fences mock-cm md-end-block">/*通用选择器*/
.abc~p{
background: blueviolet;
}</pre>
<p class="md-end-block md-p"> </p>
</li>
</ol>
<h2 class="md-end-block md-heading"><span class="md-plain">2.3测试伪类选择器</span></h2>
<pre class="md-fences mock-cm md-end-block">/*ul的第一个子元素*/
ul li:first-child{
background: blueviolet;
}
/*ul的最后一个子元素*/
ul li:last-child{
background: #e2ba2b;
}
/*选择当前p元素的父级元素,选中父级元素的第n个子元素,并且该子元素是同样的p元素才生效*/
p:nth-child(2){
background: red;
}
/*选中父级元素,下的第n个相同的元素类型的元素生效*/
p:nth-of-type(2){
background: #cf16d5;
}
</pre>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094301475-1069796800.png"></p>
<h2 class="md-end-block md-heading"><span class="md-plain">2.4属性选择器(常用)</span></h2>
<p class="md-end-block md-p"><span class="md-plain">=:绝对等于</span></p>
<p class="md-end-block md-p"><span class="md-plain">*=:通配</span></p>
<p class="md-end-block md-p"><span class="md-plain">^=:以规定内容开头的</span></p>
<p class="md-end-block md-p"><span class="md-plain">&=:以规定内容结尾的</span></p>
<pre class="md-fences mock-cm md-end-block">/*选择存在id属性的元素*/
a{
background: red;
}
/*选择id属性值为123的元素*/
a{
background: #23d9cc;
}
/*选择存在class属性的元素*/
a{
background: greenyellow;
}
/*选择class中有links的元素*/
a{
background: yellow;
}
/*选择href中以http开头的元素*/
a{
background: pink;
}
/*选择href中以jpg结尾的元素*/
a{
background:gray;
}</pre>
<p class="md-end-block md-p"> </p>
<h1 class="md-end-block md-heading"><span class="md-plain">3.美化网页属性</span></h1>
<h2 class="md-end-block md-heading"><span class="md-plain">3.1为什么要美化网页</span></h2>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">有效的传递页面信息</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">美化网页、页面漂亮,才能吸引用户</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">凸显页面的主题</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">提高用户的体验</span></p>
</li>
</ol>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain">span标签:重点要突出的字,使用span标签套起来</span></p>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#title1{
font-size: 50px;
}
</style>
</head>
<body>
欢迎学习<span id="title1">JAVA</span>
</body>
</html></pre>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">3.2字体样式</span></h2>
<pre class="md-fences mock-cm md-end-block"><!--
/*font-family:字体*/
/*font-size:字体大小*/
/*font-weight:字体粗细*/
/*color:字体颜色*/
/*最好直接用一个font全部带走*/
-->
body{
font-family: 楷体,"Agency FB";
font-size: 25px;
font-weight: bold;
color: #e2ba2b;
}
h1{
font-size: 80px;
}</pre>
<h2 class="md-end-block md-heading"><span class="md-plain">3.3文本样式</span></h2>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">颜色</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">文本对齐的方式</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">首行缩进</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">行高</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">装饰(如下划线)</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">文本图片水平对齐:vertical-align:middle</span></p>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--
颜色:RGBA,A代表透明度
text-align:排班,有左中右可选
text-indent:2em 缩进规格
height:300px;
line-height300px;
行高,和块的高度一致,就可以上下居中
-->
<style>
h1{
color: rgba(0,255,255,0.9);
text-align: center;
}
.p1{
text-indent: 2em;
}
.p3{
background: blue;
height: 300px;
line-height: 300px;
}
.L1{
text-decoration: underline;/*下划线*/
}
.L2{
text-decoration: line-through;/*中划线*/
}
.L3{
text-decoration: overline;/*上划线*/
}
a{
text-decoration:none;/*超链接去下划线*/
}
</style>
</head>
<body>
<a href="https://www.baidu.com">123</a>
<p class="L1">123213</p>
<p class="L2">123123</p>
<p class="L3">123456</p>
<h1>故事介绍</h1>
<p class="p1">平静安详的元泱境界,每隔333年,总会有一个神秘而恐怖的异常生物重生,它就是魁拔!魁拔的每一次出现,都会给元泱境界带来巨大的灾难!即便是天界的神族,也在劫难逃。在天地两界各种力量的全力打击下,魁拔一次次被消灭,但又总是按333年的周期重新出现。魁拔纪元1664年,天神经过精确测算后,在魁拔苏醒前一刻对其进行毁灭性打击。但谁都没有想到,由于一个差错导致新一代魁拔成功地逃脱了致命一击。很快,天界魁拔司和地界神圣联盟均探测到了魁拔依然生还的迹象。因此,找到魁拔,彻底消灭魁拔,再一次成了各地热血勇士的终极目标。
<p>在偏远的兽国窝窝乡,蛮大人和蛮吉每天为取得象征成功和光荣的妖侠纹耀而刻苦修炼,却把他们生活的村庄搅得鸡犬不宁。村民们绞尽脑汁把他们赶走。一天,消灭魁拔的征兵令突然传到窝窝乡,村长趁机怂恿蛮大人和蛮吉从军参战。然而,在这个一切都凭纹耀说话的世界,仅凭蛮大人现有的一块冒牌纹耀,不要说参军,就连住店的资格都没有。受尽歧视的蛮吉和蛮大人决定,混上那艘即将启程去消灭魁拔的巨型战舰,直接挑战魁拔,用热血换取至高的荣誉。</p>
</p>
<p class="p3"> For years I had been searching,</p>
</body>
</html></pre>
</li>
</ol>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">3.4阴影</span></h2>
<pre class="md-fences mock-cm md-end-block">/*text-shadow:阴影颜色 水平偏移 垂直偏移 阴影半径*/
#price{
text-shadow: #23d9cc 10px 10px 2px;
}</pre>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">3.5超链接伪类</span></h2>
<p class="md-end-block md-p"><span class="md-plain">正常情况下,只需要用到,a,a:hover</span></p>
<pre class="md-fences mock-cm md-end-block">/*默认的颜色*/
a{
text-decoration: none;
color: #000000;
}
/*鼠标悬浮的颜色(只需要记住这个:hover)*/
a:hover{
color:orange;
}</pre>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">3.6列表</span></h2>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<nav id="nav1">
<h2 class="title1">商品选择</h2>
<ul>
<li><a href="#">书包</a>&nbsp;<a href="#">水杯</a>&nbsp;<a href="#">电脑</a>&nbsp;</li>
<li><a href="#">纸巾</a>&nbsp;<a href="#">充电宝</a>&nbsp;<a href="#">口香糖</a>&nbsp;</li>
<li><a href="#">口罩</a>&nbsp;<a href="#">手机</a>&nbsp;<a href="#">平板</a>&nbsp;</li>
</ul>
</nav>
</body>
</html></pre>
<pre class="md-fences mock-cm md-end-block">#nav1{
background: aqua;
width: 500px;
}
.title1{
background: red;
font-size: 50px;
font-weight: bold;
}
ul{
background: aqua;
}
ul li{
list-style: none;
height: 40px;
}
a{
text-decoration: none;
color: black;
}
a:hover{
color: #e2ba2b;
}</pre>
<p class="md-end-block md-p"><span class="md-plain">效果图:</span></p>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094321509-666109755.png"></p>
<h2 class="md-end-block md-heading"><span class="md-plain">3.7背景</span></h2>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 1000px;
height: 700px;
border: 1px solid red;
background-image: url("images/tx.jpg");
}
.div2{
background-repeat:repeat-x;/*由左向右平铺*/
}
.div3{
background-repeat:repeat-y;/*由上到下平铺*/
}
</style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
</body>
</html></pre>
<p class="md-end-block md-p"><span class="md-plain">效果图:</span></p>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094328681-913722126.png"></p>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain">练习:在列表的基础上添加箭头</span></p>
<pre class="md-fences mock-cm md-end-block">#nav1{
background: aqua;
width: 500px;
}
.title1{
font-size: 50px;
font-weight: bold;
/*颜色、图片、图片位置、平铺方式*/
background: red url("../images/下箭头.jpg") 450px 20px no-repeat;
}
ul{
background: aqua;
}
ul li{
list-style: none;
height: 40px;
background-image: url("../images/右箭头.jpg");
background-repeat: no-repeat;
background-position: 410px -3px ;
}
a{
text-decoration: none;
color: black;
}
a:hover{
color: #e2ba2b;
}</pre>
<p class="md-end-block md-p"><span class="md-plain">效果图:</span></p>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094339332-1717927796.png"></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">3.8渐变</span></h2>
<pre class="md-fences mock-cm md-end-block">background-color:#FFFFFF;
background-image:linear-gradient(19deg,#21D4FD 0%, #21ff37 100%) ;</pre>
<p class="md-end-block md-p"> </p>
<h1 class="md-end-block md-heading"><span class="md-plain">4盒子模型</span></h1>
<h2 class="md-end-block md-heading"><span class="md-plain">4.1盒子模型</span></h2>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094346248-298084376.png"></p>
<p class="md-end-block md-p"><span class="md-plain">margin:外边距</span></p>
<p class="md-end-block md-p"><span class="md-plain">padding:内边距</span></p>
<p class="md-end-block md-p"><span class="md-plain">border:边框</span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">4.2边框</span></h2>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">边框的粗细</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">边框的样式</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">边框的颜色</span></p>
</li>
</ol>
<p class="md-end-block md-p"><img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094352659-807325736.png"></p>
<h2 class="md-end-block md-heading"><span class="md-plain">4.3内外边距</span></h2>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--外边距的妙用,居中元素-->
<style>
body{
margin: 0;
}
#box{
width: 300px;
border: 1px solid red;
margin: 0 auto;
}
h2{
background-color: palevioletred;
line-height: 30px;
margin: 0px;
text-align: center;
color: #e7d50c;
}
form{
background: palevioletred;
}
input{
border: 1px solid black;
}
div:nth-of-type(1){
padding: 5px 6px;/*内边距设置为上下5,左右6*/
}
</style>
</head>
<body>
<div id="box">
<h2>登录</h2>
<form>
<div>
<span>账号
<input type="text">
</span>
</div>
<div>
<span>密码
<input type="text">
</span>
</div>
</form>
</div>
</body>
</html></pre>
<p class="md-end-block md-p"><span class="md-plain">盒子的计算方式:你这个元素到底多大?</span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>margin+border+padding+内容宽度</strong></span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">4.4圆角边框</span></h2>
<pre class="md-fences mock-cm md-end-block"><style>
div{
width: 100px;
height: 100px;
border: 10px solid red;
border-radius: 50px 10px ;/*前面数据为主对角线,后面为次对角线*/
/*想变成圆圈的话,只需使圆角=边长*/
}
</style></pre>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">4.5盒子阴影</span></h2>
<pre class="md-fences mock-cm md-end-block"><style>
div{
width: 100px;
height: 100px;
border: 10px solid red;
box-shadow: 10px 10px 200px yellow;/*左偏移,右偏移,模糊半径,颜色*/
}
</style></pre>
<p class="md-end-block md-p"><span class="md-plain">效果:<img src="https://img2020.cnblogs.com/blog/2317821/202103/2317821-20210317094403542-1863036096.png"></span></p>
<p class="md-end-block md-p"> </p>
<h1 class="md-end-block md-heading"><span class="md-plain">5.浮动</span></h1>
<h2 class="md-end-block md-heading"><span class="md-plain">5.1块元素与行内元素</span></h2>
<p class="md-end-block md-p"><span class="md-plain">块级元素(block):独占一行(h1~h6、p、div、列表……)</span></p>
<p class="md-end-block md-p"><span class="md-plain">行内元素(inline):不独占一行(span、a、img、strong……)</span></p>
<pre class="md-fences mock-cm md-end-block"><!--block块元素-->
<!--inline行内元素-->
<!--inline-block 保持块元素的特性,但是可以内联,放在一行-->
<!--none 消失--></pre>
<p class="md-end-block md-p"><span class="md-plain">行内元素可以被包含在块级元素中,反之,则不可以</span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">5.2display</span></h2>
<pre class="md-fences mock-cm md-end-block"><style>
div{
width: 100px;
height: 100px;
border: 1px solid red;
display: inline-block;
}
span{
width: 100px;
height: 100px;
border: 1px solid red;
display: none;
}
</style></pre>
<p class="md-end-block md-p"><span class="md-plain">1.这个也是一种实现行内元素排列的方式,但是我们很多情况都是用float</span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">5.3float</span></h2>
<p class="md-end-block md-p"><span class="md-plain">1.左右浮动float</span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">5.4父级边框塌陷的问题</span></h2>
<p class="md-end-block md-p"><span class="md-plain">clear</span></p>
<pre class="md-fences mock-cm md-end-block">/*
clear:right;右侧不允许有浮动元素
clear:left;左侧不允许有浮动元素
clear:both;两侧不允许有浮动元素
clear:none;
*/</pre>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain">解决方案:</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">增加父级元素的高度~</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">增加一个空的div标签,清除浮动</span></p>
<pre class="md-fences mock-cm md-end-block"><div class="clear"></div>
.clear{
clear:both;
margin:0;
padding:0
}</pre>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">3.overflow</span></p>
<pre class="md-fences mock-cm md-end-block">在父级元素中增加一个 overflow:hidden;</pre>
<p class="md-end-block md-p"><span class="md-plain">4.父类添加一个伪类:after</span></p>
<pre class="md-fences mock-cm md-end-block">#father:after{
content:'';
display:block;
clear:both;
}</pre>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>小结:</strong></span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>1.浮动元素后面增加空的div</strong></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-pair-s "><strong>简单,但是代码中空的div不太好</strong></span></span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>2.设置父元素的高度</strong></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-pair-s "><strong>简单,但是假设新增的元素超过了设置的高度就被限制了</strong></span></span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>3.overflow</strong></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-pair-s "><strong>简单,但是下拉的一些场景应当尽量避免使用,会使网页边难看</strong></span></span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>4.父类添加一个伪类:after(推荐使用)</strong></span></p>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-pair-s "><strong>没有副作用,推荐使用</strong></span></span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">5.5对比</span></h2>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">display</span></p>
<p class="md-end-block md-p"><span class="md-plain">方向不可控制,不需要管父级边框塌陷的问题</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">float</span></p>
<p class="md-end-block md-p"><span class="md-plain">方向可控,需要解决父级边框塌陷的问题</span></p>
</li>
</ul>
<p class="md-end-block md-p"> </p>
<h1 class="md-end-block md-heading"><span class="md-plain">6.定位</span></h1>
<h2 class="md-end-block md-heading"><span class="md-plain">6.1相对定位</span></h2>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--相对于自己原来的位置进行偏移~-->
<style>
div{
margin: 10px;
padding: 5px;
font-size: 12px;
line-height: 25px;
}
#father{
padding: 0;
border:1px solid #d75c5c;
}
#first{
background-color:#234199 ;
border:1px dashed #23417d;
position: relative;/*相对定位:上下左右*/
top: -20px;
left:20px;/*是相对于左边位移了(远离)20px,注意不是往左边走了20px*/
}
#second{
background-color: #1ebd99;
border:1px dashed #1ebd73;
}
#third{
background-color: #ce9b99;
border:1px dashed #ce9b17;
}
</style>
</head>
<body>
<div id="father">
<div id="first">第一个盒子</div>
<div id="second">第二个盒子</div>
<div id="third">第三个盒子</div>
</div>
</body>
</html></pre>
<p class="md-end-block md-p"><span class="md-plain">相对定位:</span></p>
<p class="md-end-block md-p"><span class="md-plain">position:relative;</span></p>
<p class="md-end-block md-p"><span class="md-plain">相对于原来的位置进行指定的偏移,相对定位的话,它仍然在标准文档中,原来的位置会被保留,不会造城父级边框塌陷。</span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">6.2绝对定位</span></h2>
<p class="md-end-block md-p"><span class="md-plain">定位:基于XXX定位,上下左右~</span></p>
<p class="md-end-block md-p"><span class="md-plain">1.没有父级元素定位的前提下,相对于浏览器定位</span></p>
<p class="md-end-block md-p"><span class="md-plain">2.假设父级元素存在定位,我们通常会相对于父级元素进行偏移</span></p>
<p class="md-end-block md-p"><span class="md-plain">3.在父级元素范围内移动</span></p>
<p class="md-end-block md-p"><span class="md-plain">相对于父级或浏览器的位置,进行指定的偏移,绝对定位的话,它不在标准文档流中,原来的位置不会被保留</span></p>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
margin: 10px;
padding: 5px;
font-size: 12px;
line-height: 25px;
}
#father{
padding: 0;
border:1px solid #d75c5c;
position: relative;
}
#first{
background-color:#234199 ;
border:1px dashed #23417d;
}
#second{
background-color: #1ebd99;
border:1px dashed #1ebd73;
position: absolute;
}
#third{
background-color: #ce9b99;
border:1px dashed #ce9b17;
}
</style>
</head>
<body>
<div id="father">
<div id="first">第一个盒子</div>
<div id="second">第二个盒子</div>
<div id="third">第三个盒子</div>
</div>
</body>
</html></pre>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">6.3 固定定位</span></h2>
<pre class="md-fences mock-cm md-end-block"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
height: 1000px;
}
div:nth-of-type(1){/*绝对定位*/
width: 100px;
height: 100px;
background: red;
position: absolute;
right: 0;
bottom: 0;
}
div:nth-of-type(2){/*fixed浏览器导航栏必用,无论怎么滑滚动条,永远定位在你面前*/
width: 50px;
height: 50px;
background: yellow;
position: fixed;
right: 0;
bottom: 0;
}
</style>
</head>
<body>
<div>div1</div>
<div>div2</div>
</body>
</html></pre>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">6.4 z-index</span></h2>
<p class="md-end-block md-p"><span class="md-plain">图层~</span></p>
<p class="md-end-block md-p"><span class="md-plain">z-index:默认是0,最高无限~999</span></p>
<pre class="md-fences mock-cm md-end-block">#content{
width: 880px;
font-size: 12px;
line-height: 25px;
border: 1px #000 solid;
padding:0px;
margin: 0px;
overflow: hidden;
}
ul,li{
padding:0px;
margin: 0px;
list-style: none;
}
/*父级元素相对定位先*/
ul{
position: relative;
}
.tipText,.tipBg{
position: absolute;
width: 880px;
height: 25px;
top: 362px;
}
.tipText{
color: black;
z-index: 999;
}
.tipBg{
background: #e7cb1a;
opacity: 0.5;/*背景透明度*/
}
</pre>
<p> </p>
<p class="md-end-block md-p"> </p><br><br>
来源:https://www.cnblogs.com/PinkBird/p/14547567.html
頁:
[1]