黄小民 發表於 2021-1-15 21:42:00

CSS-学习笔记

<h1 class="md-end-block md-heading"><span class="md-plain md-expand">CSS</span></h1>
<h2 class="md-end-block md-heading md-focus"><span class="md-plain md-expand">一、三种CSS导入方式</span></h2>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">直接在标签内部写:style="..."(多个样式以 ;间隔)</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-tag cm-bracket">&lt;<span class="cm-tag">h2 <span class="cm-attribute">style=<span class="cm-string">"color: green"<span class="cm-tag cm-bracket">&gt;我是标题2<span class="cm-tag cm-bracket">&lt;/<span class="cm-tag">h2<span class="cm-tag cm-bracket">&gt;</span></span></span></span></span></span></span></span></span></pre>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">在head区域中写style代码块</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span>&lt;<span class="cm-tag">style <span class="cm-tag">type=<span class="cm-string">"text/css"&gt;<br><span> &nbsp; &nbsp;<span class="cm-tag">h3{<br><span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-property">color: <span class="cm-keyword">pink;<br><span> &nbsp; &nbsp;}<br><span>&lt;/<span class="cm-tag">style&gt;</span></span></span></span></span></span></span></span></span></span></span></span></pre>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">单独写css文件,在指定的html文件中以link语句导入</span></p>
<p class="md-end-block md-p"><span class="md-plain">link:</span></p>
<p class="md-end-block md-p"><span class="md-plain">rel</span></p>
<p class="md-end-block md-p"><span class="md-plain">href:css文件地址</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-tag cm-bracket">&lt;<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/style01.css"<span class="cm-tag cm-bracket">&gt;</span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p">&nbsp;</p>
<h2 class="md-end-block md-heading"><span class="md-plain">二、CSS选择器</span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">1、CSS三种基本选择器</span></h3>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">标签选择器:以标签名为名</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-comment">/*标签选择器<br><span><span class="cm-comment">所有标签同处理<br><span><span class="cm-comment">标签名{}<br><span><span class="cm-comment">*/<br><span><span class="cm-tag">h1{<br><span> &nbsp; &nbsp; <span class="cm-property">color: <span class="cm-keyword">red;<br><span>}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">类选择器:class类名方式</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-comment">/*类选择器<br><span><span class="cm-comment">同class名可以复用<br><span><span class="cm-comment">.class名{}<br><span><span class="cm-comment">*/<br><span><span class="cm-qualifier">.cls{<br><span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-property">color: <span class="cm-keyword">blue;<br><span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-property">font-size: <span class="cm-number">50px;<br><span> &nbsp;}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">id选择器:id名方式(全局唯一)</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-comment">/*id选择器<br><span><span class="cm-comment">全局唯一<br><span><span class="cm-comment">#id名{}<br><span><span class="cm-comment">*/<br><span><span class="cm-builtin">#ID{<br><span> &nbsp; &nbsp; &nbsp; <span class="cm-property">color: <span class="cm-keyword">green;<br><span> &nbsp; &nbsp; &nbsp; <span class="cm-property">font-size: <span class="cm-number">70px;<br><span> &nbsp; &nbsp; &nbsp; <span class="cm-property">font-family: 华文彩云;<br><span> &nbsp; }</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">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">2、层次选择器</span></h3>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">后代选择器:</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-comment">/*后代选择器<br><span><span class="cm-comment">后代中所有都变<br><span><span class="cm-comment">*/<br><span><span class="cm-tag">body <span class="cm-tag">h3{<br><span> &nbsp; &nbsp;<span class="cm-property">color: <span class="cm-keyword">pink;<br><span> &nbsp; &nbsp;<span class="cm-property">font-size: <span class="cm-number">50px;<br><span>}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">子选择器:</span></p>
</li>
</ul>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span class="cm-comment">/*子选择器<br><span><span class="cm-comment">后代中只有一代变<br><span><span class="cm-comment">*/<br><span><span class="cm-tag">body&gt;<span class="cm-tag">p{<br><span> &nbsp; <span class="cm-property">background: <span class="cm-keyword">brown;<br><span>}</span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">相邻兄弟选择器:</span></p>
</li>
</ul>
<pre class="md-fences mock-cm md-end-block">/*相邻兄弟选择器
当前选中元素的向下一个兄弟元素变
*/
.active + p{
      background: yellow;
}</pre>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">通用选择器:</span></p>
</li>
</ul>
<pre class="md-fences mock-cm md-end-block">/*通用选择器
当前选中元素的向下所有兄弟元素都变
*/
.active~p{
   background: aqua;
}</pre>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">3、结构伪类选择器</span></h3>
<p class="md-end-block md-p"><span class="md-plain">伪类:<span class="md-tab"> <span class="md-plain">条件</span></span></span></p>
<pre class="md-fences mock-cm md-end-block">/*ul的第一个子元素*/
ul li:first-child{
    background: aqua;
}
/*ul的最后一个子元素*/
ul li:last-child{
    background: blue;
}</pre>
<pre class="md-fences mock-cm md-end-block">/*选择当前元素的父级元素,选中父级元素的第n个子元素,并且是当前元素才生效
按顺序,如果前面有别的标签,则会出现差异
*/
p:nth-child(2){
    background: cadetblue;
}</pre>
<pre class="md-fences mock-cm md-end-block">/*选择父元素中第n个类型为p的元素
按类型                括号中可以是数字、关键字(odd-奇数、even-偶数)
*/
p:nth-of-type(2){
    background: yellow;
}</pre>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200419181551539.png"><img alt="image-20200419181551539"></span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">4、属性选择器(常用)</span></h3>
<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>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">=<span class="md-tab"> <span class="md-plain">绝对等于</span></span></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>
</ul>
<p class="md-end-block md-p"><span class="md-plain">测试:</span></p>
<pre class="md-fences mock-cm md-end-block">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;属性选择器&lt;/title&gt;
    &lt;style&gt;
      .demo a{
            float: left;
            display: block;
            height: 50px;
            width: 50px;
            background: blue;
            color: white;
            border-radius: 10px;
            text-align: center;
            text-decoration: none;
            margin-right: 5px;
            font:bold 20px/50px Arial;
      }
      /*存在id属性的元素*/
      /*a{*/
      /*    background: yellow;*/
      /*}*/
      /*id名为first的元素*/
      /*a{*/
      /*    background: green;*/
      /*}*/
      /*值为指定href的元素*/
      /*a{*/
      /*    background: aqua;*/
      /*}*/
      /*class中有links的元素*/
      /*a{*/
      /*    background: darkorchid;*/
      /*}*/
      /*选中href属性以https开头的*/
      /*a{*/
      /*    background: pink;*/
      /*}*/
      /*选中href属性以pdf结尾的*/
      a{
            background: red;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p class="demo"&gt;
    &lt;a href="https://www.baidu.com" class="links item first" id="first"&gt;1&lt;/a&gt;
    &lt;a href="https://www.sohu.com/" class="links item active" target="_blank" title="2"&gt;2&lt;/a&gt;
    &lt;a href="Demo01.html" class="links item"&gt;3&lt;/a&gt;
    &lt;a href="123.png" class="links item"&gt;4&lt;/a&gt;
    &lt;a href="123.jpg" class="links item"&gt;5&lt;/a&gt;
    &lt;a href="abc.txt" class="links item"&gt;6&lt;/a&gt;
    &lt;a href="/a.pdf" class="links item"&gt;7&lt;/a&gt;
    &lt;a href="/abc.pdf" class="links item"&gt;8&lt;/a&gt;
    &lt;a href="abc.doc" class="links item"&gt;9&lt;/a&gt;
    &lt;a href="abcd.doc" class="links item"&gt;10&lt;/a&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p class="md-end-block md-p"><span class="md-plain">效果:</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200419205127649.png"><img alt="image-20200419205127649"></span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h2 class="md-end-block md-heading"><span class="md-plain">三、美化网页元素</span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">3.1、span标签</span></h3>
<p class="md-end-block md-p"><span class="md-plain">span标签:重点要突出的字,使用span套起来</span></p>
<pre class="md-fences mock-cm md-end-block">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Span标签&lt;/title&gt;
    &lt;style&gt;
      #test{
            font-size: 50px;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
欢迎学习&lt;span id="test"&gt;Java&lt;/span&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<h3 class="md-end-block md-heading"><span class="md-plain">3.2、字体样式</span></h3>
<p class="md-end-block md-p"><span class="md-plain">font-family:字体样式<span class="md-tab"> <span class="md-plain">可以同时为中文英文指定字体,中间用 ‘ , ’ 隔开 </span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">font-size:字体大小</span></p>
<p class="md-end-block md-p"><span class="md-plain">font-weight:字体粗细</span></p>
<p class="md-end-block md-p"><span class="md-plain">color:字体颜色</span></p>
<p class="md-end-block md-p"><span class="md-plain">可以直接一次指定:font:字体风格(斜体oblique等) 粗细 大小/行高 字体;</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">3.3、文本样式</span></h3>
<p class="md-end-block md-p"><span class="md-plain">1、颜色:color</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"><span class="md-tab"> <span class="md-plain">RGB:0~F(黑色:#000000,白色:#FFFFFF,红色:#FF0000,绿色:00FF</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">00,蓝色:0000FF)</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">RGBA(A为透明度):A<span class="md-tab"> <span class="md-plain">0~1</span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">如:color:rgba(0,255,255,0.5)</span></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-tab"> <span class="md-plain">text-align:排版<span class="md-tab"> <span class="md-plain">left / center / right</span></span></span></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-tab"> <span class="md-plain">text-indent:可以用em表示,1em等于一个字的长度</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">4、行高</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">line-height</span></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"><span class="md-plain">5、装饰</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">text-decoration:underline(下) / line-through(中) / overline(上)/ none(没有)</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">文本图片水平对齐~ 参照物:a,b</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">如:</span></span></p>
<pre class="md-fences mock-cm md-end-block">&lt;style&gt;
        img,span{
            vertical-align:middle;
        }
&lt;/style&gt;</pre>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200419214906558.png"><img alt="image-20200419214906558"></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">3.4、超链接伪类</span></h3>
<p class="md-end-block md-p"><span class="md-plain">默认的样式:a</span></p>
<p class="md-end-block md-p"><span class="md-plain">鼠标悬浮的样式:a:hover(常用)</span></p>
<p class="md-end-block md-p"><span class="md-plain">鼠标按住未释放的状态:a:active</span></p>
<p class="md-end-block md-p"><span class="md-plain">未访问时的状态:a:link</span></p>
<p class="md-end-block md-p"><span class="md-plain">已访问的状态:a:visited</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<p class="md-end-block md-p"><span class="md-plain">阴影:text-shadow:阴影颜色 水平偏移 垂直偏移 阴影半径</span></p>
<pre class="md-fences mock-cm md-end-block">#price{
    text-shadow: cyan 10px 10px 5px;
}</pre>
<h3 class="md-end-block md-heading"><span class="md-plain">3.5、列表</span></h3>
<p class="md-end-block md-p"><span class="md-plain">list-style:可以选择列表中每一个li前面的标识</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">none:没有</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">circle:空心圆</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">decimal:数字</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">square:正方形</span></span></p>
<pre class="md-fences mock-cm md-end-block">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;列表css&lt;/title&gt;
    &lt;link rel="stylesheet" href="../../style/style01.css"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="nav"&gt;
    &lt;h2 class="tit"&gt;全部商品分类&lt;/h2&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="#"&gt;图书&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;音像&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;数字商品&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;家用电器&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;手机&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;数码&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;电脑&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;办公&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;家居&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;家装&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;厨具&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;服饰鞋帽&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;个护化妆&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;礼品箱包&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;钟表&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;珠宝&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;食品饮料&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;保健食品&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;彩票&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;旅行&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;充值&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="#"&gt;票务&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<pre class="md-fences mock-cm md-end-block">#nav{
    width: 300px;
    background: gray;
}
.tit{
    font-size: 18px;
    font-weight: bold;
    text-indent: 1em;
    line-height: 30px;
    background: #ff830d;
}
ul li{
    height: 30px;
    list-style: none;
    text-indent: 1em;
}
/*ul{*/
/*    background: gray;*/
/*}*/
a{
    text-decoration: none;
    font-size: 14px;
    color: black;
}
a:hover{
    color: orange;
    text-decoration: underline;
}</pre>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200420085225230.png"><img alt="image-20200420085225230"></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">3.6、背景</span></h3>
<p class="md-end-block md-p"><span class="md-plain">background 和 background-color都可以用来设置背景颜色,谁最后设置谁生效</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">background: 颜色 图片(url) 图片相对位置(水平,竖直) 图片平铺方式 </span></span></p>
<p class="md-end-block md-p"><span class="md-plain">border:边框粗细 边框线样式 边框颜色;</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">边框线样式:实线--solid<span class="md-tab"> <span class="md-plain">虚线--dashed</span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">背景图片:background-image:url(图片路径)</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">默认全部平铺(repeat)</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">图片平铺方式:background-repeat</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">repeat-x:水平方向平铺</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">repeat-y:竖直方向平铺</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">repeat:水平竖直都平铺</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">no-repeat:不平铺(只有一个图片)</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">位置设定:background-position</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">水平、竖直</span></span></p>
<pre class="md-fences mock-cm md-end-block">&lt;style&gt;
div{
    width: 1000px;
    height: 700px;
    background-color: cyan;
    background-image: url("../../pic/pic_05.jpg");
    border: 1px solid red;
}
#div1{
    background-repeat: repeat-x;
}
#div2{
    background-repeat: repeat-y;
}
#div3{
    background-repeat: no-repeat;
}
&lt;/style&gt;</pre>
<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-plain">可以直接从网站找:grabient</span></p>
<pre class="md-fences mock-cm md-end-block">background-color: #FFFFFF;
background-image: linear-gradient(135deg, #FFFFFF 0%, #6284FF 50%, #FF0000 100%);
</pre>
<p class="md-end-block md-p">&nbsp;</p>
<h2 class="md-end-block md-heading"><span class="md-plain">四、盒子模型</span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">4.1、什么是盒子模型</span></h3>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200420160211097.png"><img alt="image-20200420160211097"></span></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>
<h3 class="md-end-block md-heading"><span class="md-plain">4.2、边框</span></h3>
<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-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200420173956688.png"><img alt="image-20200420173956688"></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">4.3、内外边距及div居中</span></h3>
<p class="md-end-block md-p"><span class="md-plain">margin妙用:margin:0 auto;可以将该元素居中(上下外边距为0,左右自动对齐)</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"><span class="md-tab"> <span class="md-plain">margin:X X X X;分别指定上下左右</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">margin:X X X;分别指定上,左右,下</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">margin:X X;分别指定上下、左右</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">margin:X;上下左右都为X</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">padding操作方式同margin</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<p class="md-end-block md-p"><span class="md-plain">盒子的计算方式:(元素到底有多大)</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">margin + padding + border + 内容宽度</span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">4.4、圆角边框及阴影</span></h3>
<p class="md-end-block md-p"><span class="md-plain">border-radius:左上、右上、右下、左下(顺时针方向)</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">100px就为圆了(头像设计原理)</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">阴影:box-shadow:颜色 水平偏移 垂直偏移 模糊半径;</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">4.5、标准文档流</span></h3>
<p class="md-end-block md-p"><span class="md-plain">标准文档流</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200420220504723.png"><img alt="image-20200420220504723"></span></p>
<p class="md-end-block md-p"><span class="md-plain">块级元素:独占一行</span></p>
<pre class="md-fences mock-cm md-end-block">h1~h6                p                div                列表...</pre>
<p class="md-end-block md-p"><span class="md-plain">内联元素:不独占一行</span></p>
<pre class="md-fences mock-cm md-end-block">span                a                img                strong...</pre>
<p class="md-end-block md-p"><span class="md-plain">行内元素可以被包含在块级元素中;反之,则不可以</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<p class="md-end-block md-p"><span class="md-plain">display:</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">block:块元素</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">inline:行内元素</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">inline-block:既是行内元素又是块元素</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">display也是一种实现行内元素排列的方式,但是很多情况用 float(因为display还是在文档流内,而float是不在文档流内的独立部分)</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>float</strong><span class="md-plain">:浮动。不在原有文档流中排版,而是浮动起来。</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">clear:both:清除浮动。既有浮动的效果又有块元素的效果。</span></p>
<pre class="md-fences mock-cm md-end-block">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;浮动&lt;/title&gt;
    &lt;link rel="stylesheet" href="../../style/style02.css"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="father"&gt;
    &lt;div class="layer01"&gt;&lt;img src="../../pic/pic_04.jpg" alt="pic_04.jpg"&gt;&lt;/div&gt;
    &lt;div class="layer02"&gt;&lt;img src="../../pic/pic_03.jpg" alt="pic_03.jpg"&gt;&lt;/div&gt;
    &lt;div class="layer03"&gt;&lt;img src="../../pic/pic_02.jpg" alt="pic_02.jpg"&gt;&lt;/div&gt;
    &lt;div class="layer04"&gt;
      浮动的盒子可以向左浮动,也可以向右浮动,
    &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<pre class="md-fences mock-cm md-end-block">div{
    margin: 10px;
    padding: 5px;
}
#father{
    border: 1px solid blue;
}
.layer01{
    border: 1px dashed red;
    display: inline-block;
    float: right;
}
.layer02{
    border: 1px dashed yellow;
    display: inline-block;
    float: right;
}
.layer03{
    border: 1px dashed green;
    display: inline-block;
    float: right;
}
.layer04{
    border: 1px dashed pink;
    display: inline-block;
    font-size: 12px;
    line-height: 24px;
    float: right;
    clear: both;
}</pre>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200421092311961.png"><img alt="image-20200421092311961"></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">4.6、父级边框塌陷的问题</span></h3>
<p class="md-end-block md-p"><span class="md-plain">clear:</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">clear:right;右侧不允许有浮动元素</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">clear:left;左侧不允许有浮动元素</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">clear:both:两侧不允许有浮动元素</span></span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">clear:none:允许浮动</span></span></p>
<p class="md-end-block md-p">&nbsp;</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">1、增加父级元素的高度(不建议)</span></p>
<pre class="md-fences mock-cm md-end-block">#father{
    border: 1px solid blue;
    height: 800px;
}</pre>
<p class="md-end-block md-p"><span class="md-plain">2、增加一个空的div标签,清除浮动</span></p>
<pre class="md-fences mock-cm md-end-block">&lt;div class="clear"&gt;&lt;/div&gt;
<p>.clear{<br>
clear: both;<br>
margin: 0;<br>
padding: 0;<br>
}</p></pre><p></p>
<p class="md-end-block md-p"><span class="md-plain">3、在父级元素中增加一个overflow属性</span></p>
<pre class="md-fences mock-cm md-end-block">#father{
    border: 1px solid blue;
    overflow: hidden;
}</pre>
<p class="md-end-block md-p"><span class="md-plain">4、在父类中添加一个伪类:after<span class="md-tab"> <span class="md-plain">(常用)</span></span></span></p>
<pre class="md-fences mock-cm md-end-block">#father:after{
    content: '';
    display: block;
    clear: both;
}</pre>
<h2 class="md-end-block md-heading"><span class="md-plain">五、定位</span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">5.1、相对定位</span></h3>
<p class="md-end-block md-p"><span class="md-plain">相对于原来的位置,进行指定的偏移</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"><span class="md-plain">position:relative</span></p>
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">top、bottom、left、right</span></span></p>
<pre class="md-fences mock-cm md-end-block">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;相对定位&lt;/title&gt;
    &lt;style&gt;
      div{
            margin: 10px;
            padding: 10px;
            width: 300px;
            height: 300px;
      }
      #father{
            border: 2px solid red;
            margin: 0 auto;
      }
      a{
            display: block;
            width: 100px;
            height: 100px;
            background-color: pink;
            text-decoration: none;
            color: white;
            text-align: center;
            line-height: 100px;
      }
      a:hover{
            background-color: blue;
            color: white;
      }
      #two,#four{
            position: relative;
            left: 200px;
            top: -100px;
      }
      #five{
            position: relative;
            left: 100px;
            top: -300px;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="father"&gt;
    &lt;a href="#" id="one"&gt;链接1&lt;/a&gt;
    &lt;a href="#" id="two"&gt;链接2&lt;/a&gt;
    &lt;a href="#" id="three"&gt;链接3&lt;/a&gt;
    &lt;a href="#" id="four"&gt;链接4&lt;/a&gt;
    &lt;a href="#" id="five"&gt;链接5&lt;/a&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200421135130120.png"><img alt="image-20200421135130120"></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">5.2、绝对定位</span></h3>
<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 md-expand">2、假设父级元素存在定位,我们通常会相对于父级元素偏移</span></p><br><br>
来源:https://www.cnblogs.com/imut-LF/p/lf_css_study.html
頁: [1]
查看完整版本: CSS-学习笔记