于中国前汉的王朝年号纪年制度,延续了两千多年,目前世界上据说只剩日本还在使用。4月1日,日本官房长官菅义伟宣布,“令和”被选为日本新元号。也就是说,日本将从今年5月1日开始启用“令和”为元号。
当地时间4月1日,日本政府举行记者会,由官房长官菅义伟公布新元号:令和。
元号,也就是我们常说的年号。在此前的消息中,日本现任明仁天皇
(即下文中的平成天皇)
宣布将于“生前退位”,让位于皇太子德仁亲王。这也是明治以来,首次因为天皇退位而宣布“改元”。根据日本媒体报道,早在去年,关于元号的讨论就已经非常之多,参与者认为选取元号绝非易事。而启用新元号,还需要一定的准备时间,比如需要修改电脑程序、表格等,刻制压造硬币的模子也需要一个月的时间。
年号纪年的历史在我国颇为久远,汉武帝建立了中国历史上第一个年号——建元
(公元前140年也被称为建元元年)
。直至辛亥革命推翻帝制,中国改用民国纪年,才改变了其两千多年的沿袭历史。日本的天皇元号,则起自中国唐朝,一般认为其创立与当时日本全面学习唐朝制度的改革密不可分,也就是历史上所说的“大化改新”,这里的大化,便是日本历史上第一个元号,大化元年也就是公元645年。
当然也有人认为,从文武天皇5年的“大宝”
(公元701年即大宝元年)
开始,日本才持续使用元号。之后,日本的元号使用便一直延续至今。平成之前最近一次的元号,就是日本第124代天皇裕仁在位期间使用的年号昭和。从明治开始,日本就是“一世一元”,也就是说一代天皇只用一个元号,并且谥号也一样。但在之前,一代天皇可以多次改元。
在日本,新元号的准备工作极为秘密,这一规定是裕仁天皇
(即下文中的昭和天皇)
在1979年制定的。首先需要由首相委托有识之士提出候补方案
(一般需要提出二到五个候补方案)
,再由官房长官按照一系列原则对候补方案进行研讨,并向首相汇报。如果方案提出者过世,其方案就会从候补中取消。比如现在日本使用的元号“平成”,在当时也只有首相竹下登、官房长官小渊惠三、文部省审议官和内阁审议长四个人知道。
(下文节选自任教于早稻田大学政治经济系的马挺所著的《日本皇室散记》,较原文有改动,章节标题由编辑所加。)
明治以来首次让位“改元”
今年5月1日,邻国日本将“改元”。
目前日本的元号是平成。从明治开始,都是天皇驾崩,新天皇登基才更换元号。但这次是因为现任天皇将于4月30日让位,而现皇太子德仁亲王将于次日5月1日登基成为新一代天皇。按照日本“元号法”,就需要“改元”——从5月1日零时开始使用新元号。
德仁皇太子(左)和明仁天皇(右)。
自明治以来,都是天皇驾崩后,才决定新元号。最近的一次就是三十年前昭和天皇驾崩,现任平成天皇登基时决定的。而这次是现任平成天皇让位——明治以来的第一次——就可能于新天皇登基前一段时间决定新元号了。
政府决定4月1日就公布新元号。日本有一部分人不同意提前决定新元号,还有人提出,4月1日是西方的愚人节,容易被人钻空子。但因为日本的政府机关,以及各种机构、团体,都只使用,或者与公历并用元号,那修改电脑程序,表格等就需要时间。日本的硬币上是刻有元号的,比如“平成二十三年”,但改元后就要用新元号,但刻制压造硬币的模子要一个月。据说昭和天皇驾崩
(昭和64年1月7日·1989年)
后,标有“昭和六十四年”硬币的制造其实一直延续到当年3月。
新元号的准备工作是极为秘密的。其过程是于1979年,昭和天皇将要78岁时规定下来的。先是由首相委托有识之士,如汉文或日本国文学者、日本学士院成员,或文化勋章受勋者,提出2-5个候补方案,并附带意思和出典等说明。
再由官房长官按照六个原则
(详见下)
对候补方案进行研讨,向首相汇报。候补方案藏在内阁官房副长官辅佐室的元号专用保险柜里。当时知道“平成”是元号候补的,只有首相竹下登、官房长官小渊惠三、文部省审议官和内阁审议长四个人。如果方案提出者过世,那么其方案就将从候补中取消。
元号汉字的选择,被认为是要注意到六点:字意好而又符合日本国民理想;汉字两个字;易写;易读;过去的元号和谥号没有使用过的;未经一般俗界使用的
(日本人奉天皇为神,故民间即为俗。战后,昭和天皇“非神宣言”后,天皇才不是神了)
,比如常用姓名、地名、公司名称等等。
选定元号的条件,还要注意日语读音的罗马字拼写的首字母。因为填表等略写时,就用一个字母表示。比如昭和25年
(1950年)
为S25。近现代的明治、大正、昭和、平成,分别为M、T、S、H。那么,新元号就需要避开这四个字母。昭和改元,其实有三个候补:平成、修文、正化。后两者的首字母都是S,与昭和相同,所以就采用了平成。
避开这四个字母,就等于日语五十音图中以サ、タ、ハ、マ四行读音为首的汉字,都不能用了。据报道,目前民间猜测推出最多的几个新元号中,安久、安永、安始、永安、永和等,都是以ア
(A)
行读音开始的。
到了改元之前,受首相指示,由总理府的总务长官、官房长官、内阁法制局长官开会,研讨候补方案。选出数个,经全体阁僚会议协商,再征求众参两院正副议长的意见。最后,新元号作为政令,由内阁议决、公布。
元号滥觞:日本迄今为止已有274个元号
日本最初的元号被认为是“大化”,始于有名的大化改新的公元645年。但也有人指出,出土木简等表明,当时还是使用来自大陆的干支纪年。直到701年,从文武天皇5年的“大宝”开始,日本才持续使用元号。
中国王朝的年号之滥觞也有诸说。一般认为始于约公元前140年的汉武帝时代,曰建元。日本因为是引进中国的方式,其用字也引自汉籍
(中国古典)
。如“大化”出典《尚书·周书》“肆予大化诱我友邦君”;“大宝”自《易经》“……圣人之大宝曰位”;“昭和”亦出《尚书》的“百姓昭明,协和万邦”;“平成”来自《史记》“内平外成”以及《尚书》“地平天成”。但对于今后元号的出典,日本一部分人提出,也可以考虑从《日本书纪》、《万叶集》等日本古典中引用。
日本迄今为止的274个元号,共计使用了504字/次汉字。一般都是两个汉字,只有奈良时代
(约710-794年)
有“天平感宝”等5次是四个汉字。但使用过的汉字只有72个。其中次数最多的为“永”,29次;“元”与“天”是27次……只使用过一次的有“白、朱、昭、成……”等约三十个。使用时间最长的元号为昭和,62年零13天;最短的是暦仁,两个月14天。因其读音同“略人”,会联想到人口减少,就改了。
日本从明治开始,是“一世一元”——一代天皇就用一个元号,并且谥号也一样。但之前,一代天皇可以多次改元。史上改元次数最多的是后醍醐天皇。在位21年中8次改元。改元的目的,除了天皇即位等喜庆,碰到大地震、疫病流行等灾害时,也会以改元来冀求安定繁荣。
不过,飞鸟时代的“大宝
(701-704年)
”,原是为了庆贺在日本对马岛发现了金矿,后来才知道是造假。但时值“大宝律令”实施之前,只好就这么用了。
(“大宝律令”参考唐律制定,是日本历史上第一个“律令”齐备的法律文书。有“律”6卷、“令”11卷,共17卷。)
还传说奈良时代的元正天皇
(女性)
到美浓国洗温泉后,觉得皮肤圆润光滑,就命令改元“养老
(717-724年)
”,至今那个温泉的招牌上“美肌”还是名列功能之首。
过去天皇还在世时猜测元号被认为犯忌,暗中爆料仍不在少数
以前,在天皇还在世时就猜测下一个元号,被认为是犯忌的。但这次人们就可以放开遐想了。甚至还有悬赏:葡萄酒公司奖给猜中者1989年
(平成元年)
产500ml装葡萄酒;印刷公司拿出2019000日元,平分给猜中者……
其实,以前暗中猜测新元号的不在少数。尤其是报社,很希望能爆出个独家新闻。大正15年
(1926年)
12月25日凌晨,大正天皇驾崩,当天的《东京日日新闻》
(现《每日新闻》前身)
独家报道:“枢府会议决定,元号为‘光文’”,《读卖新闻》、《万朝报》等都跟着报了。但实际上发表的是“昭和”,遂成日本新闻史上一大误报。结果,日日新闻编辑局主干
(总编室主任)
辞职。据说是当时的宫内省因消息泄露,就马上将“光文”改为“昭和”了。但其他一些报纸,在当天晚些时候的号外上已经报道是“昭和”了。
“昭和”改“平成”时,《每日新闻》时隔63年又尽力打探,发表当天的昭和64年
(1989年)
1月7日下午二时许,有记者告诉当时《每日新闻》驻官邸首席记者:是“平成”!但因有过前车之鉴,编辑部决定再找证据。下午2时30分,记者找到出席了决定新元号的阁僚,得知“是‘平成’”,但5分钟后的2时35分,当时的官房长官小渊惠三已经向记者公布了新元号“平成”,号外没有来得及发。
其实,作为全国性报纸的《每日新闻》,当天的晚刊确实报出了“平成”。日本报纸晚刊一般是在中午前就开印了,所以《每日新闻》是将其作为“惊人的爆料,时隔63年雪耻”载入社史。但晚刊何时到读者手里不一定,这一“成功”的爆料,就很少有人提起了。
改元“平成”,正值电视时代。当天凌晨6时33分,昭和天皇驾崩。政府马上开始决定新元号的程序。召集有关有识之士开会,选出三个方案报告竹下首相。被征求意见的两院正副议长和参加决定元号临时内阁会议的阁僚,都被要求在原地休息,以防止消息泄露。但如上文,其实还是泄露了。
不过官房长官小渊更加迅速。内阁会议一结束,传达新元号的电话就从首相官邸打到总理府内阁内政审议室。在隔壁等待的河东纯一,是专门负责书写任命书等文书的。他马上挥毫写下四张“平成”,将最后一张装入预先准备好的白色镜框中,装进盒子,包上紫色包袱皮,用车送到一路之隔的首相官邸,放到了会见记者用的桌子上。
小渊官房长官先是掀起镜框,确认了一下,然后举起镜框宣布:新元号为平成。虽然这是写在吸墨性很好的奉书纸上,但墨迹似乎还未干透。这一瞬间NHK的收视率高达21.4%。重视电视传播的公布方式受到好评。
日本战后宪法规定,天皇不能干政。所以皇太子没有参与新元号的制定。但让即将即位的皇太子通过电视才能得知元号,也不好。据悉是官房副长官在临发表之前,才通知了宫内厅长官的。
作者 马挺(现任教于早稻田大学政治经济系)
摘编 何安安
编辑 安也 校对 翟永军
文章为“一条”原创,未经允许不得删改、盗用至任何平台,否则将追究法律责任。
据CBNData 2016-2019年的数据显示,
按照城市平均可支配收入以及二手房均价计算,
年轻人想要全款买一套80平的刚需房,
在北京、上海、广州分别需要工作
71年、65年、115年。
“拼单买房”一族诞生。
毫无血缘关系、没有婚姻契约、拼单“上车”,
利益有保障吗?房产会有纠纷吗?
一条采访了3组位于一线、新一线城市的“拼房族”,
与他们聊聊拼单买房的“喜”与“忧”。
编辑:秦楚
责编:陈子文
北京102㎡精装住宅,总价870万;
2022年买入,2025年交房
北五环望春园、茉莉园、亚运村……是我和小白拿着北京地图筛选出来的仅有的几个可以“拼房”的区域。
在北京能留给我们选择的地区其实就那么几个,我们倒是想去海淀买房,但那房价让人望尘莫及。
为什么会决定“拼单买房”呢?
我和小白是发小,从武汉到北京,算是名副其实的“北漂”。我们都在互联网行业,工作五年手里都各自攒了一些钱,但还远远负担不起北京的房价,之前也没敢奢求过。直到我们身边的同事、朋友这两年都开始着手买房。
我们发现身边其实不乏“拼单买房”的案例,有不领证的男女朋友拼房的、也有像我俩这样十几年好友拼单买房的。
▲
jennifer日常记录的北京街景
今年年初,我俩观望了一下北京房市,相比前几年较平稳些,有一天正上着班,小白突然发来消息:“要不一起拼着买一套?”
顾虑肯定有。我最担心的是:如果后期我们关系有变故,房产如何处理?
有问题就解决。我便上网搜索,也咨询了律师,发现一个关键点:如果是婚姻关系下购房其实风险更大,和朋友拼房只要划分清楚,反而可以分担风险。
▲
二人购买的户型样板间示意图
于是,今年4月我们启动“拼房买房”的计划。揣着350万的首付预算,在北京,我们开始了持续3个月的看房史,从4月一直看到6月,节假日也没落下。
先去的北五环。最开始我俩的目标是二手房,觉得简单装修一下就可以入住。然而看二手房不亚于玩“大冒险”。
中介带我们去看的二手房奇形怪状的,房子里有棱形、锐角、梯形,还有像龙虾触手的形状;有基本没有采光的,整个屋子乌漆嘛黑;还有一次去了一个二手房,民工还上下铺式住在里面,我们推门进去的时候,他们正好在面无表情地吃面……
4月底,在望京新城,我俩终于看到一个比较干净、方正的房子,甚至还有一个阳光房,小区容积率也不错,那是我们最接近签约的一次。但因为价格谈判,一直僵持不下。
后来听说阳光房和赠送面积都是违规搭建,如果物业干涉,这几处最吸引我们的空间是需要拆除的,有种“劫后余生”的庆幸。
在“拼房买房”的每一步上,我们都十分谨慎,生怕被骗了。
▲
jennifer的看房笔记
俩月之后,我和小白都对二手房有些疲了,我们开始转变方向,看期房。
我们调研了北京离城区近一点的所有新盘信息,崔各庄附近的楼盘是我俩能买得起的。
这和看二手房的时候完全是两种体验!
整个售楼处金碧辉煌的,大厅桌面上都摆放着香薰,销售员带我们去看样板间,里面还带有酒柜。
其中102平的卖得最快,这个地段不到10万/㎡、且是精装,性价比极高了,而且不用像买二手房那样考虑它是不是“满五唯一”和贷款额度(北京新房可以四成首付贷款无上限,二手房贷款有上限,五环内303万,五环外243万)。
综合考虑和对比后,我和小白一拍即合,102平、两室一厅、870万,我们“上车”了。
▲
二人最后签约购房合同的大楼
定了房子后,我俩开始凑钱,各自能拿出的现金、能从基金和股票里套出的钱、从期权里能兑出来的钱、两家父母能借的钱……
小白负责做公开账目表,我俩都可以随时看到钱的情况。我们首付比例为4:6,我出4成,小白出6成。
最后我凑了100万,找我爸妈借了20万;小白凑了80万,找他爸妈借了150万——首付350万交上了。
我们用组合贷的形式,每个月贷款3万,明年开始还贷款。我俩会准备一个专门还贷款的卡,每个月往里转钱,到时候会根据双方具体经济状况协定还款比例。
▲
二人签署的《购房协议》样本
房产证上,只写了小白的名字,因为他有北京的五年社保和居住证。但我不因为房产证名字而担心。交首付前,我们就去咨询了北大法律系的朋友,签了一份《共同购房协议书》。
协议中,明确规定了包括房屋权利、出资情况、处置资金分配、履约责任、协议变更或解除等。还规定了如果其中一方想要处置房子,若没有协商一致,则需付20万违约金给另一方。同时,也明确了等我的居住证办理下来后,房产证上需再加上我的名字。
签约完成的那天,销售给了我们一张600块钱的海底捞卡。我俩之前去海底捞从来没有吃到过600元,就很“小市民”,那天进去高兴地一通点,晚上撑得睡不着觉。
拼房买房后,我和小白打车不再打优享,开始研究各种优惠券怎么用,毕竟咱以后也是有北京房贷的人了!
广州89㎡精装住宅,总价98万;
2019年买入,2020年交房
活性炭包、巴斯夫油漆、综合工具箱、榻榻米床架……
这是我和motto为“拼”下来的房子买的各种软装清单,细致到一卷美纹纸、一把热熔枪都“榜上有名”,每一项物品都被我们清清楚楚地记录好购买日期、渠道、价格。我们会把这些费用AA平均到我俩的装修费支出里。
上千块的东西,例如买的大型电器类我们会当场进行AA结算,如果是小件物品会存在表格中定期结算。
▲
俩人的装修购买清单
我和motto从大学毕业就一直一起合租、群租,7、8年的租房生涯,让我们辗转遍了工作地周边大大小小的出租房。也想买房,但工资永远跑不过房价。
两三年前,有一天我在网络上看到“拼房”的概念,那个时候相关资讯并不多。我和motto开始研究琢磨这事,对这个方法既充满期待又很犹豫。但一直只停留在讨论阶段,没有具体计划。
直到2018年,我把脚摔断了,那段生活经历使我下定决心,迈开了拼单买房的第一步。
▲
萌萌兔和motto现在的家
▲
家中大大小小的软装都是她们一点点添置的
当时我们租在一个九楼无电梯的老公房里,每个星期我都需要去医院换药,每一次都要花很长时间从九楼拄拐杖跳下去、再跳上来,有时候还需要麻烦motto背我一段路。
在家里躺了两个月后,我感到真的住够了二手房和老破小!伤好后,我和motto说,“要不我们试试拼一套房吧?带电梯的那种。”
于是我和motto“兵分两路”,我负责在各种网站、APP、中介朋友圈上看房,她负责跟着中介了解每个地区的买房利好政策。
▲
窗外的周边环境
相比北京、上海、深圳,广州离市区远一点的地方的房价不算高。我们主要目标是新的楼盘期房。
开始看了两套公寓,但是地理位置、内部结构等我们都不是很满意,回来的路上坐在中介的小电瓶车后面,其实有点灰心。
第三次看房,就是我们现在的家。环境、格局、房屋性质都符合我们的标准,所以没有太多犹豫就定下了这套房。虽然离市区远些,但89㎡的精装,总价98万。
▲
客厅里二人打造了一个学习和观影区
▲
装饰家的同时二人还成为了兼职家居博主
签约前,我们签署了一份《合资购房协议书》,协议书一共四份,我们和双方父母手里都保留一份。
因为希望保留我的公积金首套房贷款资格,协商下,约定房产证上只写motto一人的名字,用她的名义贷款70万。
房产证下来后由我这边进行保管,与房子相关的联系信息写motto的名字,但是电话留我的——有关房子的所有事项双方之间都存在一个“羁绊”。
首付我们一共付了30万,AA平分,一人拿五成。
每个月3800块房贷,一人一半。
我俩还建立了一个共同还房贷的账户,每个月我们把钱打进去,水电费、物业费支出也在卡里扣除。
所有在房子上花费的东西都数据化、纸质化,“拼”得明明白白。
▲
二人会根据季节变化更换家中软装
我俩短期或者近几年内暂时没有结婚的打算,但也讨论过万一结婚的情况:如果其中一人结婚了,另一个人可以继续居住,不因为其中一人结婚就卖掉房子,把这里当作是给自己的一个“落脚点”。
毕竟在我们这个年龄,在外面漂泊了这么多年,有一个避风港,是很重要的事情。
交房的那天我们双方都是全家出动,我先生、婆婆,朋友包子的先生都一起来了,她父亲因为无法到现场,还开了个视频体验了一把“云交房”。
对于“拼房买房”,我和包子始终都是比较轻松的态度,但是我们父母一直顾虑比较大。当时房子签约,我们完全听从售楼处人员的“招呼”,刷卡、签字、按手印……没什么犹豫的。但我爸爸和她妈妈非常紧张,一直在我们旁边念叨“这件事靠谱不靠谱”,每一个环节都在一旁看了又看。
最开始我们提出想要“拼房买房”的时候,我妈很是担心,问我:“你们关系再好,也只是朋友,以后各自组建家庭后,房子怎么办?算谁的?风险谁承担?”
而这个“拼”来的房子恰好见证了我们从单身到已婚。
▲
俩人去新房隔壁邻居家参观作为以后的装修参考
我们是八年的好友,2018年大学毕业工作一段时间后我和包子各自攒到了人生中的第一笔“小钱”。回成都之前,我在上海工作,最开始在东方卫视实习,为了省钱在8号线附近租合租房,环境一言难尽。后来搬出去租了单人间,房租又变成了当时最大的开销。
2019年1月,买房的想法慢慢冒了出来,有一套房子,好坏都是自己的,一不用付房租,二没有谁能让我搬家。
考虑到手头上的钱不多,我和包子先是提了一嘴“拼单买房”的想法,包子的反应没有我想象中的惊讶。
我们身边女孩买房的几乎没有,除非家里条件好,靠自己买房的特别少,可能千分之一?
▲
签购房合同当天Ruby发了一条朋友圈纪念
抱着试一试的想法,我俩先是看了一圈成都的购房政策,两年社保的限制让我们没有条件买住宅,于是我们决定去公寓地产那边“碰碰运气”。
地产中心的讲解员告知我们,如果双方都没有结婚,同性可以一起购房并且双方同时登入房产证,而当时我俩都单身,“拼房买房”这件事就这么定下来了!
我们选房的考虑主要是地理位置,最后选定了位于理工大学附近的一套公寓。
因为买的时候盘要截止了,我俩比较幸运,一万四一平拿下了这套房子,首付加税一共需要37万左右,一人平摊18万出头。但当时我突然遇到了一些变故钱不够,包子去找她爸爸借了10万块钱先垫给我。
包子其实是典型的金牛座,在花钱上面清算得非常仔细,就算是亲老公,也休想多花她一分钱,但是借这10万块钱的时候她连借据都没有让我写。包子作为主贷人,我作为共贷人,贷款10年,一人一半房贷,有了属于我们的安身立命之所。
基于互相信任,没有公证、没有协议,我们就这样“上了车”。
▲
购房合同中的户型图和二人共同签字
当时我们想也许这就是我们这辈子唯一一套房,以后也许会嫁人、结婚,但也是跟两边的家庭一起去买,不太有可能再去买一套属于自己的房子了。
没想到,从签约到交房,这一等就是三年。
在等交房的三年里,我和包子都遇见了各自的“另一半”,有了自己的小家。
2021年我遇见了现在的先生,谈婚论嫁前,我告诉他我和朋友婚前“拼”了套房子,还需要还10年贷款。先生很尊重、理解我们的做法,这也让我有一些感动。
其实结婚时,我也做过最坏的打算。我当初没有做婚前财产公证,万一未来真的遇到婚姻问题,我愿意签字放弃这套房子,把房子整个转给包子。
▲
Ruby在自己婚礼后将手捧花留给了即将举行婚礼的闺蜜
今年10月包子即将举办婚礼,我们的房子也交房了。交房当天,包子激动得把19年买房签约时发的朋友圈,重新找出来截图又发了一遍。我俩还兴冲冲地跑去吃了一顿火锅,特别热,但是我们一直在“傻笑”。
“拼房买房”对我们来说最大的意义,可能就是两个女孩,能拥有一套房产证上是我们两个人名字的安身之处。
拼单买房“过来人”的建议
1. 拼单买房优先找三观一致的人,相互了解、足够信任,如双方父母辈相识,可加强制约,降低一定风险;
2. 做最坏打算与设想,分析自己是否有抗风险能力,如果无法承受,不要有侥幸心理,马上停止;
3. 即使是拼单买房,不要把全部资金投入,手里保留一部分流动资金,防止地产暴雷被套牢;
4. 考虑好首套房贷款利率、首付比例、契税、购买资格等问题,全面了解每个城市首套房政策、利好政策后再做决定;
5. 相关的利益分配需要签合约确定,包括房屋权利、出资情况、处置资金分配、履约责任、协议变更或解除等,彼此都有保障;
6. 还贷或首付款交易时,需备注对方姓名、身份证号以及款项用途,依次具有法律效应。
参考回答:
简介: 就是用来装页面上的元素的矩形区域 。CSS 中的盒子模型包括 IE 盒子模型和标 准的 W3C 盒子模型。
box-sizing(有 3 个值哦): border-box,padding-box,content-box.
标准盒子模型:
IE 盒子模型:
区别: 从图中我们可以看出, 这两种盒子模型最主要的区别就是 width 的包含范围, 在 标准的盒子模型中, width 指 content 部分的宽度, 在 IE 盒子模型中, width 表示 content+padding+border 这三个部分的宽度,故这使得在计算整个盒子的宽度时存在着差 异:
标准盒子模型的盒子宽度: 左右 border+左右 padding+width
IE 盒子模型的盒子宽度: width 在 CSS3 中引入了 box-sizing 属性, box-sizing:content-box;表示标准的盒子模型, box-sizing:border-box 表示的是 IE 盒子模型 最后, 前面我们还提到了, box-sizing:padding-box,这个属性值的宽度包含了左右 padding+width 也很好理解性记忆, 包含什么, width 就从什么开始算起。
参考回答:
采用 meta viewport 的方式
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
采用 border-image 的方式
采用 transform: scale()的方式
参考回答:
link 属于 html 标签, 而@import 是 css 提供的
页面被加载时, link 会同时被加载, 而@import 引用的 css 会等到页面加载结束后加载。 link 是 html 标签, 因此没有兼容性, 而@import 只有 IE5 以上才能识别。
link 方式样式的权重高于@import 的。
参考回答:
Animation 和 transition 大部分属性是相同的, 他们都是随时间改变元素的属性值, 他们 的主要区别是 transition 需要触发一个事件才能改变属性, 而 animation 不需要触发任何 事件的情况下才会随时间改变属性值,并且 transition 为 2 帧,从 from .... to,而 animation 可以一帧一帧的。
参考回答:
文章链接:
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool(语法篇) http://www.ruanyifeng.com/blog/2015/07/flex-examples.html(实例篇)Flex 是 Flexible Box 的缩写, 意为"弹性布局", 用来为盒状模型提供最大的灵活性。
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position 属性 + float 属性。它 对于那些特殊布局非常不方便, 比如, 垂直居中就不容易实现。
简单的分为容器属性和元素属性
容器的属性:
flex-direction: 决定主轴的方向 (即子 item 的排列方法)
.box {
flex-direction: row | row-reverse | column | column-reverse;
}
flex-wrap: 决定换行规则
.box{
flex-wrap: nowrap | wrap | wrap-reverse;
}
flex-flow:
.box {
flex-flow: <flex-direction> || <flex-wrap>;
}
justify-content: 对其方式, 水平主轴对齐方式
align-items: 对齐方式, 竖直轴线方向
项目的属性 (元素的属性) :
order 属性: 定义项目的排列顺序, 顺序越小, 排列越靠前, 默认为 0
flex-grow 属性: 定义项目的放大比例, 即使存在空间, 也不会放大
flex-shrink 属性: 定义了项目的缩小比例, 当空间不足的情况下会等比例的缩小, 如果 定义个 item 的 flow-shrink 为 0, 则为不缩小
flex-basis 属性: 定义了在分配多余的空间, 项目占据的空间。
flex: 是 flex-grow 和 flex-shrink 、flex-basis 的简写, 默认值为 0 1 auto。
align-self: 允许单个项目与其他项目不一样的对齐方式, 可以覆盖 align-items, 默认属 性为 auto, 表示继承父元素的 align-items
比如说, 用 flex 实现圣杯布局
参考回答:
直译成: 块级格式化上下文, 是一个独立的渲染区域, 并且有一定的布局规则。 BFC 区域不会与 float box 重叠
BFC 是页面上的一个独立容器, 子元素不会影响到外面
计算 BFC 的高度时, 浮动元素也会参与计算
那些元素会生成 BFC:
根元素
float 不为 none 的元素
position 为 fixed 和 absolute 的元素
display 为 inline-block 、table-cell 、table-caption, flex, inline-flex 的元素 overflow 不为 visible 的元素
参考回答:
(1)margin:auto 法
css:
div{
width: 400px;
height: 400px;
position: relative;
border: 1px solid #465468;
}
img{
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
html:
<div>
<img src="mm.jpg">
</div>
定位为上下左右为 0, margin: 0 可以实现脱离文档流的居中.
(2)margin 负值法
.container{
width: 500px;
height: 400px;
border: 2px solid #379;
position: relative;
}
.inner{
width: 480px;
height: 380px;
background-color: #746;
position: absolute;
top: 50%;
left: 50%;
margin-top: -190px; /*height 的一半*/
margin-left: -240px; /*width 的一半*/
}
补充: 其实这里也可以将 marin-top 和 margin-left 负值替换成,
transform: translateX(-50%)和 transform: translateY(-50%)
(3)table-cell (未脱离文档流的)
设置父元素的 display:table-cell,并且 vertical-align:middle,这样子元素可以实现垂直居中。
css:
div{
width: 300px;
height: 300px;
border: 3px solid #555;
display: table-cell;
vertical-align: middle;
text-align: center;
}
img{
vertical-align: middle;
}
(4)利用 flex
将父元素设置为 display:flex, 并且设置 align-items:center;justify-content:center;
css:
.container{
width: 300px;
height: 200px;
border: 3px solid #546461;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
}
.inner{
border: 3px solid #458761;
padding: 20px;
}
参考回答:
渲染线程分为 main thread 和 compositor thread,如果 css 动画只改变 transform 和 opacity, 这时整个 CSS 动画得以在 compositor trhead 完成 (而 JS 动画则会在 main thread 执行,然 后出发 compositor thread 进行下一步操作) , 特别注意的是如果改变 transform 和 opacity 是不会 layout 或者 paint 的。
区别:
功能涵盖面, JS 比 CSS 大
实现/重构难度不一, CSS3 比 JS 更加简单, 性能跳优方向固定
对帧速表现不好的低版本浏览器, css3 可以做到自然降级
css 动画有天然事件支持
css3 有兼容性问题
参考回答:
块元素: 独占一行, 并且有自动填满父元素, 可以设置 margin 和 pading 以及高度和宽 度
行元素: 不会独占一行, width 和 height 会失效, 并且在垂直方向的 padding 和 margin 会失 效。
参考回答:
display: -webkit-box
-webkit-box-orient:vertical
-webkit-line-clamp:3
overflow:hidden
参考回答:
opacity=0,该元素隐藏起来了, 但不会改变页面布局, 并且, 如果该元素已经绑定一些 事件, 如 click 事件, 那么点击该区域, 也能触发点击事件的 visibility=hidden, 该元素 隐藏起来了,但不会改变页面布局,但是不会触发该元素已经绑定的事件 display=none, 把元素隐藏起来, 并且会改变页面布局, 可以理解成在页面中把该元素删除掉一样。
参考回答:
多个相邻 (兄弟或者父子关系) 普通流的块元素垂直方向 marigin 会重叠 折叠的结果为:
两个相邻的外边距都是正数时, 折叠结果是它们两者之间较大的值。
两个相邻的外边距都是负数时, 折叠结果是两者绝对值的较大值。
两个外边距一正一负时, 折叠结果是两者的相加的和。
参考回答:
固定定位 fixed:
元素的位置相对于浏览器窗口是固定位置, 即使窗口是滚动的它也不会移动 。Fixed 定 位使元素的位置与文档流无关, 因此不占据空间 。 Fixed 定位的元素和其他元素重叠。 相对定位 relative:
如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直 或水平位置, 让这个元素“相对于”它的起点进行移动 。 在使用相对定位时, 无论是 否进行移动, 元素仍然占据原来的空间 。 因此, 移动元素会导致它覆盖其它框。
绝对定位 absolute:
绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那 么它的位置相对于<html> 。absolute 定位使元素的位置与文档流无关,因此不占据空间。 absolute 定位的元素和其他元素重叠。
粘性定位 sticky:
元素先按照普通文档流定位,然后相对于该元素在流中的flowroot (BFC) 和 containing block (最近的块级祖先元素) 定位。而后,元素定位表现为在跨越特定阈值前为相对定 位, 之后为固定定位。
默认定位 Static:
默认值。没有定位,元素出现在正常的流中 (忽略 top, bottom, left, right 或者 z-index 声 明) 。
inherit:
规定应该从父元素继承 position 属性的值。
参考回答:
方法一: 使用带 clear 属性的空元素 在浮动元素后使用一个空元素如<div class="clear"></div>, 并在 CSS 中赋 予.clear{clear:both;}属性即可清理浮动。亦可使用<br class="clear" />或<hr class="clear" /> 来进行清理。
方法二: 使用 CSS 的 overflow 属性
给浮动元素的容器添加 overflow:hidden;或 overflow:auto;可以清除浮动,另外在 IE6 中还 需要触发 hasLayout , 例如为父元素设置容器宽高或设置 zoom:1 。 在添加 overflow 属性后, 浮动元素又回到了容器层, 把容器高度撑起, 达到了清理浮动 的效果。
方法三: 给浮动的元素的容器添加浮动 给浮动元素的容器也添加上浮动属性即可清除内部浮动,但是这样会使其整体浮动,影 响布局, 不推荐使用。
方法四: 使用邻接元素处理
什么都不做, 给浮动元素后面的元素添加 clear 属性。
方法五: 使用 CSS 的:after 伪元素
结合:after 伪元素 (注意这不是伪类, 而是伪元素, 代表一个元素之后最近的元素) 和 IEhack ,可以完美兼容当前主流的各大浏览器,这里的 IEhack 指的是触发 hasLayout。 给浮动元素的容器添加一个 clearfix 的 class, 然后给这个 class 添加一个:after 伪元素实 现元素末尾添加一个看不见的块元素 (Block element) 清理浮动 。 参考 https://www.cnblogs.com/ForEvErNoME/p/3383539.html
参考回答:
开放题 。CSS3 边框如 border-radius, box-shadow 等; CSS3 背景如 background-size, background-origin 等; CSS3 2D, 3D 转换如 transform 等; CSS3 动画如 animation 等。 参考 https://www.cnblogs.com/xkweb/p/5862612.html
参考回答:
id 选择器, class 选择器, 标签选择器, 伪元素选择器, 伪类选择器等 同一元素引用了多个样式时, 排在后面的样式属性的优先级高;
样式选择器的类型不同时, 优先级顺序为: id 选择器 > class 选择器 > 标签选择器; 标签之间存在层级包含关系时,后代元素会继承祖先元素的样式。如果后代元素定义了 与祖先元素相同的样式,则祖先元素的相同的样式属性会被覆盖。继承的样式的优先级 比较低, 至少比标签选择器的优先级低;
带有!important 标记的样式属性的优先级最高;
样式表的来源不同时,优先级顺序为:内联样式> 内部样式 > 外部样式 > 浏览器用户 自定义样式 > 浏览器默认样式
参考回答:
display:none; visibility:hidden; opacity: 0; 等等
参考回答:
CSS 盒模型本质上是一个盒子, 封装周围的 HTML 元素, 它包括: 边距, 边框, 填充, 和实际内容。
标准盒模型: 一个块的总宽度=width+margin(左右)+padding(左右)+border(左右)
怪异盒模型: 一个块的总宽度=width+margin (左右) (既 width 已经包含了 padding 和 border 值)
设置盒模型: box-sizing:border-box
参考回答:
固定定位 fixed:
元素的位置相对于浏览器窗口是固定位置, 即使窗口是滚动的它也不会移动 。Fixed 定 位使元素的位置与文档流无关, 因此不占据空间 。 Fixed 定位的元素和其他元素重叠。 相对定位 relative:
如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直 或水平位置, 让这个元素“相对于”它的起点进行移动 。 在使用相对定位时, 无论是 否进行移动, 元素仍然占据原来的空间 。 因此, 移动元素会导致它覆盖其它框。
绝对定位 absolute:
绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那 么它的位置相对于<html> 。absolute 定位使元素的位置与文档流无关,因此不占据空间。 absolute 定位的元素和其他元素重叠。
粘性定位 sticky:
元素先按照普通文档流定位,然后相对于该元素在流中的flowroot (BFC) 和 containing block (最近的块级祖先元素) 定位。而后,元素定位表现为在跨越特定阈值前为相对定 位, 之后为固定定位。
默认定位 Static:
默认值。没有定位,元素出现在正常的流中 (忽略 top, bottom, left, right 或者 z-index 声 明) 。
inherit:
规定应该从父元素继承 position 属性的值。
参考回答:
创建动画序列, 需要使用animation 属性或其子属性, 该属性允许配置动画时间 、时长 以及其他动画细节, 但该属性不能配置动画的实际表现, 动画的实际表现是
由 @keyframes 规则实现, 具体情况参见使用 keyframes 定义动画序列小节部分 。 transition 也可实现动画。transition 强调过渡,是元素的一个或多个属性发生变化时产生 的过渡效果, 同一个元素通过两个不同的途径获取样式,而第二个途径当某种改变发生 (例如 hover) 时才能获取样式, 这样就会产生过渡动画。
参考回答:
父元素固定宽高, 利用定位及设置子元素 margin 值为自身的一半。
父元素固定宽高, 子元素设置 position: absolute, margin: auto 平均分配 margin css3 属性 transform 。子元素设置 position: absolute; left: 50%; top: 50%;transform: translate(-50%,-50%);即可。
将父元素设置成 display: table, 子元素设置为单元格 display: table-cell。
弹性布局 display: flex 。设置 align-items: center; justify-content: center
参考回答:
法一: 父元素 display:flex,align-items:center;
法二: 元素绝对定位, top:50%, margin-top: - (高度/2)
法三: 高度不确定用 transform: translateY ( -50%)
法四: 父元素 table 布局, 子元素设置 vertical-align:center;
参考回答:
cnkOhu
text-overflow 属性, 值为 clip 是修剪文本; ellipsis 为显示省略符号来表被修剪的文本; string 为使用给定的字符串来代表被修剪的文本。
参考回答:
display 为 block
参考回答:
display:none; visibility:hidden; opacity: 0; position 移到外部, z-index 涂层遮盖等等
参考回答:
三列布局又分为两种, 两列定宽一列自适应, 以及两侧定宽中间自适应
两列定宽一列自适应:
1 、使用 float+margin:
给 div 设置 float: left, left 的 div 添加属性 margin-right: left 和 center 的间隔 px,right 的 div 添加属性 margin-left: left 和 center 的宽度之和加上间隔
2 、使用 float+overflow:
给 div 设置 float: left, 再给 right 的 div 设置 overflow:hidden 。这样子两个盒子浮动, 另 一个盒子触发 bfc 达到自适应
3 、使用 position:
父级 div 设置 position: relative, 三个子级 div 设置 position: absolute, 这个要计算好盒 子的宽度和间隔去设置位置, 兼容性比较好,
4 、使用 table 实现:
父级 div 设置 display: table, 设置 border-spacing: 10px//设置间距, 取值随意,子级 div 设置 display:table-cell, 这种方法兼容性好, 适用于高度宽度未知的情况, 但是 margin 失效, 设计间隔比较麻烦,
5 、flex 实现:
parent 的 div 设置 display: flex; left 和 center 的 div 设置 margin-right; 然后 right 的 div 设置 flex: 1; 这样子 right 自适应, 但是 flex 的兼容性不好
6 、grid 实现:
parent 的 div 设置 display: grid,设置 grid-template-columns 属性, 固定第一列第二列宽 度, 第三列 auto,
对于两侧定宽中间自适应的布局,对于这种布局需要把 center 放在前面,可以采用双飞 翼布局: 圣杯布局, 来实现, 也可以使用上述方法中的 grid, table, flex, position 实现
参考回答:
BFC 也就是常说的块格式化上下文, 这是一个独立的渲染区域, 规定了内部如何布局, 并且这个区域的子元素不会影响到外面的元素,其中比较重要的布局规则有内部 box 垂 直放置, 计算 BFC 的高度的时候, 浮动元素也参与计算, 触发 BFC 的规则有根元素, 浮动元素, position 为 absolute 或 fixed 的元素, display 为 inline-block, table-cell, table-caption, flex, inline-flex, overflow 不为 visible 的元素
参考回答:
Calc 用户动态计算长度值, 任何长度值都可以使用calc()函数计算, 需要注意的是, 运 算符前后都需要保留一个空格, 例如: width: calc(100% - 10px);
参考回答:
对于行内块级元素,
1、父级元素设置 text-alig:center,然后设置 line-height 和 vertical-align 使其垂直居中, 最后设置 font-size: 0 消除近似居中的 bug
2 、父级元素设置 display: table-cell, vertical-align: middle 达到水平垂直居中
3、采用绝对定位,原理是子绝父相,父元素设置 position:relative,子元素设置 position: absolute,然后通过 transform 或 margin 组合使用达到垂直居中效果,设置 top:50%,left: 50%, transform: translate ( -50%, -50%)
4 、绝对居中, 原理是当 top,bottom 为 0 时, margin-top&bottom 设置 auto 的话会无限延 伸沾满空间并平分, 当 left, right 为 0 时,margin-left&right 设置 auto 会无限延伸占满空 间并平分,
5 、采用 flex, 父元素设置 display: flex, 子元素设置 margin: auto
6、视窗居中,vh 为视口单位, 50vh 即是视口高度的 50/100,设置 margin: 50vh auto 0, transform: translate(-50%)
参考回答:
Display:table 和本身 table 是相对应的, 区别在于, display: table 的 css 声明能够让一个 html 元素和它的子节点像 table 元素一样,使用基于表格的 css 布局,是我们能够轻松定 义一个单元格的边界, 背景等样式, 而不会产生因为使用了 table 那样的制表标签导致 的语义化问题。
之所以现在逐渐淘汰了 table 系表格元素, 是因为用div+css 编写出来的文件比用table 边写出来的文件小, 而且 table 必须在页面完全加载后才显示, div 则是逐行显示,table 的嵌套性太多, 没有 div 简洁
参考回答:
Position 属性把元素放置在一个静态的, 相对的, 绝对的, 固定的位置中,
Static:位置设置为 static 的元素,他始终处于页面流给予的位置,static 元素会忽略任何 top,buttom,left,right 声明
Relative: 位置设置为 relative 的元素, 可将其移至相对于其正常位置的地方, 因此 left: 20 会将元素移至元素正常位置左边 20 个像素的位置
Absolute: 此元素可定位于相对包含他的元素的指定坐标, 此元素可通过left, top 等属 性规定
Fixed: 位置被设为 fiexd 的元素, 可定为与相对浏览器窗口的指定坐标, 可以通过 left, top, right 属性来定位
z-index 的定位方法
参考回答:
z-index 属性设置元素的堆叠顺序,拥有更好堆叠顺序的元素会处于较低顺序元素之前, z-index 可以为负,且 z-index 只能在定位元素上奏效,该属性设置一个定位元素沿 z 轴的位置, 如果为正数, 离用户越近, 为负数, 离用户越远, 它的属性值有auto, 默认, 堆叠顺序与父元素相等, number, inherit, 从父元素继承 z-index 属性的值。
参考回答:
可以更改父元素的color
参考回答:
CSS3 的新特性中, 在布局方面新增了 flex 布局, 在选择器方面新增了例如
first-of-type,nth-child 等选择器,在盒模型方面添加了 box-sizing 来改变盒模型,在动画 方面增加了 animation, 2d 变换, 3d 变换等, 在颜色方面添加透明, rbga 等, 在字体方 面允许嵌入字体和设置字体阴影, 最后还有媒体查讯等。
参考回答:
用的目前来说最多的是 flex 属性, 灵活但是兼容性方面不强。
参考回答:
line-height 一般是指布局里面一段文字上下行之间的高度,是针对字体来设置的,height 一般是指容器的整体高度。
参考回答:
background-color 设置的背景颜色会填充元素的 content 、padding 、border 区域。
参考回答:
属性选择器和伪类选择器优先级相同
参考回答:
Block 是块级元素,其前后都会有换行符, 能设置宽度,高度,margin/padding 水平垂直 方向都有效。
Inline: 设置 width 和 height 无效, margin 在竖直方向上无效, padding 在水平方向垂直 方向都有效, 前后无换行符
Inline-block: 能设置宽度高度, margin/padding 水平垂直方向 都有效, 前后无换行符
参考回答:
虽然不认为很多人能在面试中写出来
#euro {
width: 150px;
height: 150px;
margin-left: -75px;
margin-top: -75px;
position: absolute;
top: 50%;
left: 50%;
transform-style: preserve-3d;
animation: spin 2.5s linear infinite;
}
.back {
background-image: url("/uploads/160101/backeuro.png");
width: 150px;
height: 150px;
}
.middle {
background-image: url("/uploads/160101/faceeuro.png");
width: 150px;
height: 150px;
transform: translateZ(1px);
position: absolute;
top: 0;
}
.front {
background-image: url("/uploads/160101/faceeuro.png");
height: 150px;
position: absolute;
top: 0;
transform: translateZ(10px);
width: 150px;
}
@keyframes spin {
0% {
transform: rotateY(0deg);
}
100% {
transform: rotateY(360deg);
}
}
参考回答:
DOM 的变化影响到了预算内宿的几何属性比如宽高,浏览器重新计算元素的几何属性, 其他元素的几何属性也会受到影响,浏览器需要重新构造渲染书,这个过程称之为重排, 浏览器将受到影响的部分重新绘制在屏幕上 的过程称为重绘,引起重排重绘的原因有: 添加或者删除可见的 DOM 元素,元素尺寸位置的改变浏览器页面初始化,浏览器窗口大小发生改变, 重排一定导致重绘, 重绘不一定导致重排, 减少重绘重排的方法有:
不在布局信息改变时做 DOM 查询,
使用 csstext,className 一次性改变属性
使用 fragment
参考回答:
画三角形
#triangle02{
width: 0;
height: 0;
border-top: 50px solid blue;
border-right: 50px solid red;
border-bottom: 50px solid green;
border-left: 50px solid yellow;
}
画正方体:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>perspective</title>
<style>
.wrapper{
width: 50%;
float: left;
}
.cube{
font-size: 4em;
width: 2em;
margin: 1.5em auto;
transform-style:preserve-3d;
transform:rotateX(-35deg) rotateY(30deg);
}
.side{
position: absolute;
width: 2em;
height: 2em;
background: rgba(255,99,71,0.6);
border: 1px solid rgba(0,0,0,0.5);
color: white;
text-align: center;
line-height: 2em;
}
.front{
transform:translateZ(1em);
}
.bottom{
transform:rotateX(-90deg) translateZ(1em);
}
.top{
transform:rotateX(90deg) translateZ(1em);
}
.left{
transform:rotateY(-90deg) translateZ(1em);
}
.right{
transform:rotateY(90deg) translateZ(1em);
}
.back{
transform:translateZ(-1em);
}
</style>
</head>
<body>
<div class="wrapper w1">
<div class="cube">
<div class="side front">1</div>
<div class="side back">6</div>
<div class="side right">4</div>
<div class="side left">3</div>
<div class="side top">5</div>
<div class="side bottom">2</div>
</div>
</div>
<div class="wrapper w2">
<div class="cube">
<div class="side front">1</div>
<div class="side back">6</div>
<div class="side right">4</div>
<div class="side left">3</div>
<div class="side top">5</div>
<div class="side bottom">2</div>
</div>
</div>
</body>
</html>
参考回答:
要讲清楚这个解决方案的原理,首先需要了解块格式化上下文,A block formattingcontext is a part of a visual CSS rendering of a Web page. It is the region in which the layout of block boxes occurs and in which floats interact with each other.翻译过来就是块格式化上下文是 CSS 可视化渲染的一部分, 它是一块区域, 规定了内部块盒 的渲染方式, 以及浮动相 互之间的影响关系。
当元素设置了 overflow 样式且值部位 visible 时,该元素就构建了一个 BFC,BFC 在计算 高度时, 内部浮动元素的高度也要计算在内, 也就是说技术 BFC 区域内只有一个浮动 元素, BFC 的高度也不会发生塌缩, 所以达到了清除浮动的目的。
参考回答:
给要清除浮动的元素添加样式clear,父元素结束标签钱插入清除浮动的块级元素, 给该元素添加样式clear添加伪元素,在父级元素的最后,添加一个伪元素,通过清除伪元素的浮动,注意该伪 元素的 display 为 block,父元素添加样式 overflow 清除浮动, overflow 设置除 visible 以外的任何位置。
参考回答:
box-sizing 规定两个并排的带边框的框,语法为 box-sizing:content-box/border-box/inherit content-box: 宽度和高度分别应用到元素的内容框,在宽度和高度之外绘制元素的内边距和边框。
border-box: 为元素设定的宽度和高度决定了元素的边框盒,
inherit: 继承父元素的 box-sizing
参考回答:
1. opacity: 0, 该元素隐藏起来了, 但不会改变页面布局, 并且, 如果该元素已经绑定 一些事件, 如 click 事件, 那么点击该区域, 也能触发点击事件的
2. visibility:hidden,该元素隐藏起来了,但不会改变页面布局,但是不会触发该元素已 经绑定的事件
3. display: none, 把元素隐藏起来, 并且会改变页面布局, 可以理解成在页面中把该元 素删除掉。
参考回答:
margin 的外边缘
参考回答:
CSS 盒模型本质上是一个盒子, 封装周围的 HTML 元素, 它包括: 边距, 边框, 填充, 和实际内容。
标准盒模型: 一个块的总宽度=width+margin(左右)+padding(左右)+border(左右)
怪异盒模型: 一个块的总宽度=width+margin (左右) (既 width 已经包含了 padding 和 border 值)
参考回答:
主要取值有 none,block,inline-block,inline,flex 等 。具体可参考
https://developer.mozilla.org/zh-CN/docs/Web/CSS/display
参考回答:
1. opacity: 0, 该元素隐藏起来了, 但不会改变页面布局, 并且, 如果该元素已经绑定 一些事件, 如 click 事件, 那么点击该区域, 也能触发点击事件的
2. visibility:hidden,该元素隐藏起来了,但不会改变页面布局,但是不会触发该元素已 经绑定的事件
3. display: none, 把元素隐藏起来, 并且会改变页面布局, 可以理解成在页面中把该元 素删除掉。
参考回答:
1. visibility:hidden,该元素隐藏起来了,但不会改变页面布局,但是不会触发该元素已 经绑定的事件
2. display: none, 把元素隐藏起来, 并且会改变页面布局, 可以理解成在页面中把该元 素删除掉。
参考回答:
相对定位 relative:
如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直 或水平位置, 让这个元素“相对于”它的起点进行移动 。 在使用相对定位时, 无论是 否进行移动, 元素仍然占据原来的空间 。 因此, 移动元素会导致它覆盖其它框。
绝对定位 absolute:
绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那 么它的位置相对于<html> 。absolute 定位使元素的位置与文档流无关,因此不占据空间。 absolute 定位的元素和其他元素重叠。
参考回答:
flex 是 Flexible Box 的缩写, 意为"弹性布局" 。指定容器 display: flex 即可。
容器有以下属性: flex-direction, flex-wrap, flex-flow,justify-content, align-items, align-content。
flex-direction 属性决定主轴的方向;
flex-wrap 属性定义, 如果一条轴线排不下, 如何换行;
flex-flow 属性是 flex-direction 属性和 flex-wrap 属性的简写形式, 默认值为 row nowrap; justify-content 属性定义了项目在主轴上的对齐方式。
align-items 属性定义项目在交叉轴上如何对齐。
align-content 属性定义了多根轴线的对齐方式 。如果项目只有一根轴线, 该属性不起作 用。
项目 (子元素) 也有一些属性:order,flex-grow,flex-shrink,flex-basis,flex,align-self。 order 属性定义项目的排列顺序 。数值越小, 排列越靠前, 默认为 0。
flex-grow 属性定义项目的放大比例, 默认为 0, 即如果存在剩余空间, 也不放大 。 flex-shrink 属性定义了项目的缩小比例, 默认为 1, 即如果空间不足, 该项目将缩小。 flex-basis 属性定义了在分配多余空间之前, 项目占据的主轴空间 (main size) 。
flex 属性是 flex-grow, flex-shrink 和 flex-basis 的简写, 默认值为 0 1 auto 。后两个属性 可选。
align-self 属性允许单个项目有与其他项目不一样的对齐方式, 可覆盖 align-items 属性。 默认值为 auto,表示继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch。
参考 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
参考回答:
block 元素会独占一行, 多个 block 元素会各自新起一行 。默认情况下, block 元素宽度 自动填满其父元素宽度。
block 元素可以设置 width,height 属性 。块级元素即使设置了宽度,仍然是独占一行。 block 元素可以设置 margin 和 padding 属性。
inline 元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下, 才会新换一行, 其宽度随元素的内容而变化。
inline 元素设置 width,height 属性无效。
inline 元素的 margin 和 padding 属性,水平方向的 padding-left, padding-right, margin-left, margin-right 都产生边距效果; 但竖直方向的 padding-top, padding-bottom, margin-top, margin-bottom 不会产生边距效果。
inline-block: 简单来说就是将对象呈现为 inline 对象, 但是对象的内容作为 block 对象 呈现 。之后的内联对象会被排列在同一行内 。 比如我们可以给一个 link (a 元素) inline-block 属性值, 使其既具有 block 的宽度高度特性又具有 inline 的同行特性。
参考回答:
id 选择器, 类选择器, 伪类选择器等
参考回答:
六种布局方式总结: 圣杯布局、双飞翼布局、Flex 布局、绝对定位布局 、表格布局 、网 格布局 。 圣杯布局是指布局从上到下分为 header、container、footer,然后 container 部分定为三栏 布局。这种布局方式同样分为 header、container、footer。圣杯布局的缺陷在于 center 是 在 container 的 padding 中的, 因此宽度小的时候会出现混乱 。 双飞翼布局给center 部分包裹了一个 main 通过设置 margin 主动地把页面撑开 。 Flex 布局是由CSS3 提供的一种方便的布局方式。
绝对定位布局是给 container 设置 position: relative 和 overflow: hidden,因为绝对定位的元 素的参照物为第一个 postion 不为 static 的祖先元素 。 left 向左浮动, right 向右浮动 。 center 使用绝对定位,通过设置 left 和 right 并把两边撑开 。 center 设置 top: 0 和 bottom: 0 使其高度撑开 。 表格布局的好处是能使三栏的高度统一 。 网格布局可能是最强大的布局方式了,使用起来极其方便,但目前而言,兼容性并不好。 网格布局,可以将页面分割成多个区域,或者用来定义内部元素的大小,位置, 图层关 系。
参考回答:
固定定位 fixed:
元素的位置相对于浏览器窗口是固定位置, 即使窗口是滚动的它也不会移动 。Fixed 定 位使元素的位置与文档流无关, 因此不占据空间 。 Fixed 定位的元素和其他元素重叠。 相对定位 relative:
如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直 或水平位置, 让这个元素“相对于”它的起点进行移动 。 在使用相对定位时, 无论是 否进行移动, 元素仍然占据原来的空间 。 因此, 移动元素会导致它覆盖其它框。
绝对定位 absolute:
绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那 么它的位置相对于<html> 。absolute 定位使元素的位置与文档流无关,因此不占据空间。 absolute 定位的元素和其他元素重叠。
粘性定位 sticky:
元素先按照普通文档流定位,然后相对于该元素在流中的flowroot (BFC) 和 containing block (最近的块级祖先元素) 定位。而后,元素定位表现为在跨越特定阈值前为相对定 位, 之后为固定定位。
默认定位 Static:
默认值。没有定位,元素出现在正常的流中 (忽略 top, bottom, left, right 或者 z-index 声 明) 。
inherit:
规定应该从父元素继承 position 属性的值。
参考回答:
如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直 或水平位置, 让这个元素“相对于”它的起点进行移动 。 在使用相对定位时, 无论是 否进行移动, 元素仍然占据原来的空间 。 因此, 移动元素会导致它覆盖其它框。
参考回答:
父元素固定宽高, 利用定位及设置子元素 margin 值为自身的一半。
父元素固定宽高, 子元素设置 position: absolute, margin: auto 平均分配 margin css3 属性 transform 。子元素设置 position: absolute; left: 50%; top: 50%;transform: translate(-50%,-50%);即可。
将父元素设置成 display: table, 子元素设置为单元格 display: table-cell。 弹性布局 display: flex 。设置 align-items: center; justify-content: center;
参考回答:
less, sass 等
*请认真填写需求信息,我们会在24小时内与您取得联系。