公输的前端学习记录day12(css)

         盒子模型

页面布局要学习三大核心:盒子模型,浮动和定位。

1.1看透网页布局的本质

网页布局的过程:

(1)先准备好相关的网页元素,网页元素基本都是盒子box

(2)利用css设置盒子样式,然后摆放到相应位置

(3)往盒子里装内容。

核心:利用css摆盒子。

1.2盒子模型(box model)组成

所谓盒子模型就是把HTML页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。

css盒子模型本质是一个盒子,封装周围的HTML元素,它包括:边框,外边距,内边距和实际内容。

border边框   content内容   padding内边距    margin外边距(盒子与盒子的距离)

1.3边框(border)

边框有三部分组成:边框宽度(粗细)边框样式 边框颜色

语法:

border:border-width  || border-style || border-color

border-width边框的粗细,一般情况下都用px

border-style边框的样式,solid实线边框,dashed虚线边框,dotted点线,

border-color

边框的复合写法:

border:1px solid red;没有顺序,但一般这样写。

边框分开写法:

border-top:1px solid red;(只设定上边框,其余同理)

1.4表格的细线边框

border-collapse属性控制浏览器绘制表格边框的方式,控制相邻单元格的边框。

语法:border-collapse:collapse;表示相邻边框合并在一起。

1.5 边框会影响盒子的实际大小

解决方案:法一:测量盒子大小时不量边框

法二:如果测量的时候包含了边框,则需要width/height减去边框宽度。边框有左右,减的时候注意要不要减两倍边框。

1.6内边距(padding)

  即边框与内容之间的距离

padding-left/right/top/bottom

复合写法(简写):

padding属性可以有一到四个值

padding:5px;(1个值,代表上下左右都是5像素内边距)

padding:5px 10px;(2个值,代表上下内边距5像素,左右内边距10像素)

padding:5px 10px 20px;(3个值,代表上内边距5像素,左右内边距10像素,下内边距20像素)

padding:5px 10px 15px 20px;(4个值,顺时针,上5 右10 下15 左20)

注:padding也会影响盒子实际大小

也就是说,如果没有盒子已经有了宽度和高度,此时再指定内边框,会撑大盒子。

一般用width/height减去两倍内边距

如果不指定width和height的话,此时padding值不会撑大盒子。

 

 

 

 

 

 

 

 

 

 

这段代码哪错了 #include <iostream> #include <iomanip> using namespace std; class Staff { protected: int code; string name; static int count; public: Staff(string n) { name = n; code = count; count++; } void SetName(string s) { name = s; } string GetName() { return name; } int GetCode() { return code; } static int GetStaffCount() { return count; } }; class Teacher : virtual public Staff { protected: string subject; public: Teacher(string n, string m) : Staff(n) { subject = m; } void SetSubject(string s) { subject = s; } string GetSubject() { return subject; } }; class Officer : virtual public Staff { protected: string work; public: Officer(string n, string m) : Staff(n) { work = m; } void SetWork(string s) { work = s; } string GetWork() { return work; } }; class Teacher_Officer : public Teacher, public Officer { public: Teacher_Officer(string n, string m, string s) : Staff(n), Teacher(n, m), Officer(n, s) {} }; int main() { Teacher t1("孔子", "儒家文学"); // 创建教学类员工t1 Teacher t2("公输班", "建筑学"); Officer o1("端木赐", "财务科长"); // 创建教辅类员工o1 Teacher_Officer to3("颜回", "儒家文学", "副院长"); // 创建教师教辅类员工to3 cout << "共有教职工" << Staff::GetStaffCount() << "人" << endl; cout << t1.GetCode() << ", " << t1.GetName() << ", " << t1.GetSubject() << endl; cout << t2.GetCode() << ", " << t2.GetName() << ", " << t2.GetSubject() << endl; cout << o1.GetCode() << ", " << o1.GetName() << ", " << o1.GetWork() << endl; cout << to3.GetCode() << ", " << to3.GetName() << ", " << to3.GetSubject() << ", " << to3.GetWork() << endl; return 0; }
05-17
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值