青瓷清茶倾城歌 發表於 2020-11-25 09:22:00

CSS基本样式学习

<h1 id="css基础">CSS基础</h1>
<p>​                                                                                                                                                                                                                                                                                                                                   <strong>@copyright:wangchao</strong></p>
<h2 id="概要">概要</h2>
<pre><code class="language-js">内联样式表
内部样式表                                                       
内联样式                                                        不推荐
</code></pre>
<h2 id="选择器">选择器</h2>
<h3 id="基础选择器id选择器类选择器标签选择器">基础选择器ID选择器&gt;类选择器&gt;标签选择器</h3>
<pre><code class="language-css">&lt;p class="paragraph" id="para1"&gt; Lorem &lt;/p&gt;
标签选择器
p{
        color:red;
}
类选择器
.paragraph{
        color:red;
}
ID选择器,id是唯一的
#para1{
        color:red;
}
</code></pre>
<h3 id="层次选择器">层次选择器</h3>
<pre><code class="language-css">全局选择器 *
*{
        color:bule;
}
组合选择器
p .firstPar{
        color:green;
}
继承选择器
h1 strong{
        color:bule;
}
子选择器
body&gt;p{
        color:bule;
}
相邻兄弟选择器: 只有一个,相邻(向下)
.active + p{
        color:bule;
}
通用兄弟选择器:当前选中的元素的向下的所有兄弟元素
.active~p{
        color:bule;
}
未访问链接(link)、已访问链接(visited)、激活链接(active)、鼠标停留在连接上(hover)。
</code></pre>
<p><img src="https://gitee.com/wang-chaoKKM/blog-garden/tree/master/.gitee/images/image-20201028104031546.png"></p>
<h3 id="伪类选择器">伪类选择器</h3>
<pre><code class="language-css">选择ul标签的第一个子元素
ul li:first-child{
        background:##ff0000;
}
选择ul标签的最后一个子元素
ul li:last-child{
        background:##ff0000;
}
定位父元素,选择当前第n个元素
选择当前p元素的父级元素,选中父级元素的第一个,并且是当前元素才生效
p:nth-child(n){
        background:##ff0000;
}
选择父元素,下的p元素的第二个,类型
p:nth-of-type(n){
        background:##ff0000;
}
-----------------------------------------------------------------------
Odd 和 even 是可用于匹配下标是奇数或偶数的子元素的关键词(第一个子元素的下标是 1)。
在这里,我们为奇数和偶数 p 元素指定两种不同的背景色:
p:nth-child(odd)
{
        background:#ff0000;
}
p:nth-child(even)
{
        background:#0000ff;
}
-----------------------------------------------------------------------
使用公式 (an + b)。描述:表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。
在这里,我们指定了下标是 3 的倍数的所有 p 元素的背景色:
p:nth-child(3n+0)
{
        background:#ff0000;
}
-----------------------------------------------------------------------
</code></pre>
<h3 id="属性选择器常用">属性选择器(常用)</h3>
<pre><code class="language-css">选择包含id属性的元素
a{
        background:#ff0000;
}
选择id等于first的元素
a{
        background:#ff0000;
}
选择a标签中class为links的元素
= 绝对等于
*= 包含等于
a{
        background:#ff0000;
}
^= 以这个开头
a{
        background:#ff0000;
}
$= 以这个结尾
a{
        background:#ff0000;
}
</code></pre>
<h2 id="美化网页元素">美化网页元素</h2>
<h3 id="1为什么要美化网页">1.为什么要美化网页</h3>
<ol>
<li>有效的传递页面信息</li>
<li>美化网页,页面漂亮,才能吸引用户</li>
<li>凸显页面的主题</li>
<li>提高用户的体验</li>
</ol>
<ul>
<li>span标签:重点要突出的字,使用span标签套起来</li>
</ul>
<h3 id="2字体样式">2.字体样式</h3>
<pre><code class="language-css">字体样式
font-family:楷体;
字体大小
font-size:50px;
em(1em等于一个字 体大小的缩进)
字体粗细
font-weight:bold;
字体颜色
color:#a13d30;
-------------------------
font:oblique bolder 12px "楷体";
或者
font:bolder 12px "楷体";
</code></pre>
<h3 id="3文本样式">3.文本样式</h3>
<pre><code class="language-css">设置颜色
color:rgba(0,255,255,0.9);
排版:居中
text-align:center;
首行缩进
text-indent:2em;
行高,和 块的高度一致,就可以上下居中
text-height:300px
划线
        下划线
text-decoration:underline;
        中划线
text-decoration:line-through;
        上划线
text-decoration:overline;
超链接去下划线
a{
    text-decoration:none;
}
文本图片水平对齐
img,span{
    vertical-align:middle;
}
</code></pre>
<h3 id="4超链接伪类">4.超链接伪类</h3>
<pre><code class="language-css">鼠标悬浮的颜色
a:hover{
    color:roange;
}
鼠标按住未释放的状态
a:active{
    color:green;
}
</code></pre>
<h3 id="5阴影">5.阴影</h3>
<pre><code class="language-css">文本阴影
        阴影颜色,水平偏移,垂直偏移,阴影半径
text-shadow:#3cc7f5 10px 10px 10px;
</code></pre>
<h3 id="6列表样式">6.列表样式</h3>
<pre><code class="language-css">none:去掉圆点
circle:空心圆
decimal:有序列表
square:正方形
list-style:none;
ul li{
    height:30px;
    list-style:none;
    text-indent:1em;
}
</code></pre>
<h3 id="7背景">7.背景</h3>
<pre><code class="language-css">背景:默认平铺
background-image:url("images/tx.jpg");
水平平铺
background-repeat:repeat-x;
垂直平铺
background-repeat:repeat-y;
不平铺
background-repeat:no-repeat;
---------------------------------------
颜色,图片,图片位置,平铺方式
background-image:red url("images/tx.jpg") 270px 10px no-repeat;
</code></pre>
<h3 id="8渐变">8.渐变</h3>
<ul>
<li>https://www.grabient.com/</li>
</ul>
<pre><code class="language-css">
background-color: #D9AFD9;
background-image: linear-gradient(0deg, #D9AFD9 0%, #97D9E1 100%);
</code></pre>
<h2 id="盒子模型">盒子模型</h2>
<h3 id="外边距">外边距</h3>
<pre><code class="language-CSS">属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度
margin:10px 5px 15px 20px;                                               上右下左
margin:10px 5px 15px;                                                       上左右下
margin:10px 5px;                                                               上下左右
margin:10px;                                                                       上下左右
--------------------------------------------------------
妙用:盒子居中
margin:0 auto;
</code></pre>
<h3 id="内边距">内边距</h3>
<pre><code>padding 简写属性在一个声明中设置所有内边距属性。
padding:10px 5px 15px 20px;                                               上右下左
padding:10px 5px 15px;                                                       上左右下
padding:10px 5px;                                                               上下左右
padding:10px;                                                                       上下左右
</code></pre>
<h3 id="边框">边框</h3>
<p>可以按顺序设置如下属性:</p>
<ul>
<li>border-width</li>
<li>border-style</li>
<li>border-color</li>
<li>如果不设置其中的某个值,也不会出问题,比如 border:solid #ff0000; 也是允许的。</li>
</ul>
<pre><code class="language-css">初始化:body总有一个默认的外边距margin:0 常见操作
h1,ul,li,a,body{
    margin:0;
    padding:0;
    text-decoration:none;
}
-------------------------------------------------------------------
border 简写属性在一个声明设置所有的边框属性。
p{
        border:5px solid red;
}
border-style:
none        定义无边框。
hidden        与 "none" 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。
dotted        定义点状边框。在大多数浏览器中呈现为实线。
dashed        定义虚线。在大多数浏览器中呈现为实线。
solid        定义实线。
double        定义双线。双线的宽度等于 border-width 的值。
</code></pre>
<h4 id="border-style">border-style</h4>
<pre><code>border-style:dotted solid double dashed;                 上右下左
border-style:dotted solid double;                                上左右下
border-style:dotted solid;                                                上下左右
border-style:dotted;                                                        上下左右
</code></pre>
<h3 id="盒子的计算方法你这个元素到底多大">盒子的计算方法:你这个元素到底多大?</h3>
<p>margin + border + padding + 内容宽度</p>
<h2 id="圆角边框">圆角边框</h2>
<h3 id="border-radius">border-radius</h3>
<pre><code class="language-css">左上,右上,右下,左下,顺时针方向
圆圈:圆角 = 半径!
扇形:
div{
    width:100px;
    height:50px;
    margin:30px;
    background:red;
    border-radius:50px,50px,0,0;
}
div{
    width:50px;
    height:50px;
    margin:30px;
    background:red;
    border-radius:50px,0,0,0;
}
</code></pre>
<h2 id="盒子阴影">盒子阴影</h2>
<pre><code class="language-css">x偏移量,y偏移量,便宜半径,阴影颜色
box-shadow:10px 10px 1px yellow;
</code></pre>
<h2 id="浮动">浮动</h2>
<h3 id="标准文档流">标准文档流</h3>
<ul>
<li>块级元素:独占一行</li>
</ul>
<pre><code class="language-html">h1 - h6 p div 列表
</code></pre>
<ul>
<li>行内元素:不独占一行</li>
</ul>
<pre><code>span a img strong ...
</code></pre>
<p>行内元素可以包含在块级元素中,反之则不行</p>
<h3 id="display">display</h3>
<pre><code class="language-css">块元素
display:block;
行内元素
display:inline;
保持块元素和行内元素的特性
display:inline-block;
消除
display:none;
</code></pre>
<p><strong>这个也是一种实现行内元素排列的方式,但是我们很多情况都是用float</strong></p>
<h3 id="float">float</h3>
<ol>
<li><strong>左右浮动 float:left; float:rigth;</strong></li>
</ol>
<h3 id="父级边框塌陷的问题">父级边框塌陷的问题</h3>
<pre><code class="language-css">右侧不允许浮动
clear:right;
左侧不允许浮动
clear:left;
两侧不允许浮动
clear:both;
clear:none;
</code></pre>
<ul>
<li>
<p>解决方案:</p>
<ol>
<li>
<p>增加父级元素高度</p>
<pre><code class="language-css">#father{
    border:1px #000 solid;
    height:800px;
}
</code></pre>
</li>
<li>
<p>增加一个空的div标签,清除浮动</p>
<pre><code class="language-css">&lt;div class="clear"&gt;&lt;/div&gt;
.clear{
    clear:both;
    margin:0;
    padding:0;
}
</code></pre>
</li>
<li>
<p>overflow</p>
<pre><code class="language-css">在父级元素中增加一个overflow:hidden;
-----------------------------------------------------
visible        默认值。内容不会被修剪,会呈现在元素框之外。
hidden        内容会被修剪,并且其余内容是不可见的。
scroll        内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto        如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit        规定应该从父元素继承 overflow 属性的值。
</code></pre>
</li>
<li>
<p>父类增加一个伪类:after(最好的方案)</p>
<pre><code class="language-css">#father:after{
    content:'';
    display:block;
    clear:both;
}
</code></pre>
<p>小结:</p>
<ul>
<li>
<p>浮动元素后面增加新的div</p>
<ul>
<li>简单,代码中尽量避免空div</li>
</ul>
</li>
<li>
<p>设置父元素的高度</p>
<ul>
<li>简单,元素假设有了固定的高度,就会被限制</li>
</ul>
</li>
<li>
<p>overflow</p>
<ul>
<li>简单,下拉的一些场景避免使用</li>
</ul>
</li>
<li>
<p>父类增加一个伪类:after(推荐)</p>
<ul>
<li>写法稍微复杂点,但没有副作用,推荐使用!</li>
</ul>
</li>
</ul>
</li>
</ol>
</li>
</ul>
<h3 id="对比">对比</h3>
<ul>
<li>
<p>display</p>
<p>方向不可以控制</p>
</li>
<li>
<p>float</p>
<p>浮动起来的话会偏离标准文档流,所以要解决父级塌陷的问题!</p>
</li>
</ul>
<h2 id="定位">定位</h2>
<h3 id="相对定位">相对定位</h3>
<p>position:relative;<br>
相对于原来的位置,进行指定的偏移,相对定位的话,它任然在标准文档流中!原来的位置会被保留</p>
<pre><code class="language-css">top:-20px;
left:20px;
bottom:-10px;
right:20px;
</code></pre>
<h3 id="绝对定位">绝对定位</h3>
<p>定位:基于xxx定位,上下左右~</p>
<ol>
<li>
<p>没有父级元素定位的前提下,相对于浏览器定位</p>
</li>
<li>
<p>假设父级元素存在定位,我们通常会相对于父级元素进行偏移~</p>
</li>
<li>
<p>在父级元素返回内移动</p>
</li>
<li>
<p>相对于父级或浏览器的位置,进行指定的偏移,绝对定位的话,它不在标准文档流中!原来的位置不会被保留</p>
</li>
<li>
<p>方块定位联系</p>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;style&gt;
      #box{
            width: 300px;
            height: 300px;
            padding: 10px;
            border: 2px solid red;
            margin: 0 ;
      }
      a{
            width: 100px;
            height: 100px;
            text-decoration: none;
            background: #E0C3FC;
            line-height: 100px;
            text-align: center;
            color: white;
            display: block;
      }
      a:hover{
            background: #FFDEE9;
      }
      .a2{
            position: relative;
            left: 200px;
            top: -100px;
      }
      .a3{
            position: relative;
            left: 100px;
            top: -100px;
      }
      .a4{
            position: relative;
            top: -100px;
      }
      .a5{
            position: relative;
            left: 200px;
            bottom: 200px;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="box"&gt;
    &lt;a class="a1" href="#"&gt;链接1&lt;/a&gt;
    &lt;a class="a2" href="#"&gt;链接2&lt;/a&gt;
    &lt;a class="a3" href="#"&gt;链接3&lt;/a&gt;
    &lt;a class="a4" href="#"&gt;链接4&lt;/a&gt;
    &lt;a class="a5" href="#"&gt;链接5&lt;/a&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
</li>
</ol>
<h3 id="固定定位">固定定位</h3>
<ol>
<li>定死在网页上某个位置</li>
</ol>
<h3 id="z-index">z-index</h3>
<p>z-index: 999: 层级</p>
<p>opacity: 0.4 透明度</p>
<p>position: absolute 绝对定位</p>
<p><strong>浮起来,合在一起才可以进行设置层级</strong></p>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;link rel="stylesheet" href="css/style.css"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="content"&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;img src="image/渐变.png" alt=""&gt;&lt;/li&gt;
      &lt;li class="tipText"&gt;学习Linux&lt;/li&gt;
      &lt;li class="tipBg"&gt;&lt;/li&gt;
      &lt;li&gt;时间:2020-08-16&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<pre><code class="language-css">#content{
    width: 380px;
    padding: 0px;
    margin: 0px;
    overflow: hidden;
    font-size: 12px;
    line-height: 25px;
    border: #000;
}
ul,li{
    padding: 0px;
    margin: 0px;
    list-style: none;
}
/*父级元素相对定位*/
#content ul{
    position: relative;
}
.tipText, .tipBg{
    position: absolute;
    width: 370px;
    height: 25px;
    top: 0px;
}
.tipText{
    color: white;
    z-index: 999;
}
.tipBg{
    background: #000;
    opacity: 0.4;
    filter: alpha(opacity=50);
}
</code></pre>
<h2 id="补充">补充</h2>
<h3 id="字体">字体</h3>
<pre><code>指定的系列名称:具体字体的名称,比如:"times"、"courier"、"arial"。
通常字体系列名称:比如:"serif"、"sans-serif"、"cursive"、"fantasy"、"monospace"
p{
        font-family:"Times New Roman",Georgia,Serif;
}
font-size:16px;                                                                        设置字体大小
color:颜色                                                                           设置文字颜色
------------------------------------------------------------------------------
font-weight:normal;                                                                设置字重
normal        默认值。定义标准的字符。
bold        定义粗体字符。
bolder        定义更粗的字符。
lighter        定义更细的字符。
-----------------------------------------------------------------------------
font:bold 16px "Times New Roman",Georgia,Serif;
</code></pre>
<h3 id="文本格式">文本格式</h3>
<h4 id="文本的对齐方式">文本的对齐方式</h4>
<pre><code>文本排列属性是用来设置文本的水平对齐方式。
文本可居中或对齐到左或右,两端对齐.
当text-align设置为"justify",每一行被展开为宽度相等,左,右外边距是对齐(如杂志和报纸)。
h1 {text-align:center;}
p.date {text-align:right;}
p.main {text-align:justify;}
</code></pre>
<h4 id="文本转换">文本转换</h4>
<pre><code>文本转换属性是用来指定在一个文本中的大写和小写字母。
可用于所有字句变成大写或小写字母,或每个单词的首字母大写。
------------------------------------------------------------------------------------------
p.uppercase {text-transform:uppercase;}
p.lowercase {text-transform:lowercase;}
p.capitalize {text-transform:capitalize;}
</code></pre>
<h4 id="文本缩进">文本缩进</h4>
<pre><code>文本缩进属性是用来指定文本的第一行的缩进。
p {text-indent:50px;}        
</code></pre>
<h3 id="文字间距">文字间距</h3>
<pre><code>letter-spacing:1em;                                                                字母之间的间距
word-spacing:2em;                                                                单词间距
</code></pre>
<img src="https://gitee.com/wang-chaoKKM/blog-garden/tree/master/.gitee/images/image-20201028114010378.png">
<p>外层用一个div包裹整个大的div,从而设置里面div的大小的位置</p>
<pre><code>body{
        background-color:颜色;                                                        网页背景颜色
}
background-color:颜色;                                                        div背景颜色
color:文字颜色
width:80%                                                                              设置宽度
margin:auto;                                                                        设置水平居中
</code></pre><br><br>
来源:https://www.cnblogs.com/StayPositive/p/14034040.html
頁: [1]
查看完整版本: CSS基本样式学习