CSS3中的calc()和rem()都是很實用的單位,尤其是在響應式設計中使用頻率很高。
calc()是一個用于計算的函數,可以讓我們在CSS中使用像數學中一樣的加減乘除操作,從而達到快速計算CSS值的目的。例如:
width: calc(50% + 100px);
這段代碼的意思是,元素的寬度為父元素寬度的50%再加上100px。
另外,calc()函數也可以用于計算不同單位之間的值,例如:
width: calc(100vw - 20px);
這個例子中,元素的寬度為瀏覽器窗口寬度減去20px。
rem是相對于根元素(即html元素)的字體大小來計算的單位。這個單位的好處在于,我們只需要調整根元素的字體大小,整個頁面上的元素大小就會隨之改變。
html { font-size: 16px; } p { font-size: 1rem; margin-bottom: 1rem; }
這個例子中,我們將html的字體大小設置為16px,然后所有p元素的字體大小都相當于16px,因為1rem等于根元素的字體大小。同時,每個p元素的底部會留下一個1個rem的空白。
結合使用calc()和rem()可以使我們的CSS代碼更加靈活,例如:
height: calc(100vh - 2rem); font-size: calc(1rem + 0.5vw);
這兩行代碼分別是計算瀏覽器視口高度減去2個rem和字體大小增加0.5vw,可以讓我們在不同屏幕大小下獲得更好的視覺效果。