css学习

css选择器

基础选择器

标签选择器

标签选择器用于将HTML的标签作为选择器,能快速为页面中同类型的标签统一设置样式,但不能设计差异化样式。

p { font-size: 12px; color: red }

类选择器

类选择器以" . " 进行标识,可以用于给多个HTML标签设置相同的样式,也可以给一个标签指定多个类名,从而达到更多的选择目的。

<style>
.wrap  { margin:0; padding:0; }
.myclass  { font-size: 12px; color: red }
</style>

<div class="wrap myclass"> 你笑起来真好看。</div>

id选择器

id 选择器以" # " 进行标识,可以为标有特定 id 的 HTML 元素指定特定的样式。id属性唯一。

<style>
#wrap  { margin:0; padding:0; }
</style>

<div id="wrap"> 你笑起来真好看。</div>

通配符选择器

通配符选择器使用 " * " 定义,它表示选取页面中所有元素(标签)。

* {
 margin: 0;
 padding: 0;
} 

复合选择器

后代选择器

后代选择器又称为包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

/* 元素1 元素2 { 样式声明 } 
  表示选择元素 1 里面的所有元素 2 (后代元素)。*/

div p  { font-size: 12px; color: red; }    
/* 选择 div 里面所有的 p 标签元素 */

子选择器

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。

/*元素1 > 元素2 { 样式声明 } 
选择元素1 里面的所有直接后代(子元素) 元素2。*/

div > p { font-size: 12px; color: red; } 
/* 选择 div 里面所有最近一级 p 标签元素 */

并集选择器

并集选择器可以选择多组标签, 同时为他们定义相同的样式,通过英文逗号" , "连接而成。通常用于集体声明。

/*元素1,元素2,元素3 { 样式声明 } */
div,.myclass,#psd { 样式声明 } /* 选择 div、.myclass和#psd元素 */ 

伪类选择器

伪类选择器书写最大的特点是用冒号(:)表示,比 如 :link 、 :last-child 。伪类选择器很多,这里主要介绍链接伪类和结构伪类。

链接伪类选择器:
/*让超链接点击之前是红色*/
a:link {color: red;}
/*让超链接点击之后是橙色*/
a:visited {color: orange;}
/*鼠标悬停,放到标签上的时候是绿色*/
a:hover {color: green;}
/*鼠标点击链接,但是不松手的时候*/
a:active {color: black;}

/* 为了确保生效,请按照 LVHA 的循顺序声明
   :link-:visited-:hover-:active
   记忆法:love hate */

盒子模型

标准盒子模型

在这里插入图片描述
1.width和height设置内容框的宽度和高度;

2.padding表示一个css框的内边距——这一层位于内容框的外边缘与边界的内边缘之间;

3.border是一个分隔层,位于内边距的外边缘以及外边距的内边缘之间;

4.margin代表css框周围的外部区域,成为外边距,他在布局中推开其他的css框。

box-sizing属性

/* 关键字 值 */
box-sizing: content-box;
box-sizing: border-box;
 
/* 全局 值 */
box-sizing: inherit;
box-sizing: initial;
box-sizing: unset;

在这里插入图片描述

溢流

auto: 当内容过多,溢流的内容被隐藏,然后出现滚动条来让我们滚动查看所有的内容。
hidden: 当内容过多,溢流的内容被隐藏。
visible: 当内容过多,溢流的内容被显示在盒子的外边(这个是默认的行为)

背景裁剪

.default     { background-clip: border-box;  }
.padding-box { background-clip: padding-box; }
.content-box { background-clip: content-box; }

css浮动

float和display不要写在同一个元素内
让两个有宽高的盒子平排 我们可以让这两个盒子转成行内块,但是盒子之间有空白
浮动的诞生就可以让元素平排 并且还可以设置宽高

浮动特点
1.相互贴靠(怎么贴靠)
2.浮动的元素可以设置宽高
3.脱离标准流(脱标)

清除浮动(带来的影响)方法
1.给浮动元素的父亲设置高度 ——有高度的盒子可以关闭浮动
2.clear:both 在父亲末尾增加一个元素 给这个元素设置属性clear:both
3.给浮动元素的父级 增加一个overflow:hidden
4.是第二种清除浮动的升级版 可以使用
5.最优方法 可以反复使用

<body>
    <div class="wrap">
        <div class="box1"></div>
        <div class="box2"></div>
        <div class="cleardiv"></div>
    </div>
    <div class="wrap2">

    </div>
</body>

/* 5 */
.cleardiv:after{
content:'';
display: block;
clear: both;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值