于中國前漢的王朝年號紀年制度,延續了兩千多年,目前世界上據說只剩日本還在使用。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小時內與您取得聯系。