این یک بلوک کد CSS است که خانواده فونت «Guardian Headline Full» را برای استفاده در یک وبسایت تعریف میکند.它包括多个@font-face规则,每个规则指定字体的一种不同字重(细体、常规、中等、半粗体)和样式(正常或斜体)。字体文件托管在Guardian的资产服务器上,代码提供了后备格式(WOFF2、WOFF和TTF),以确保在不同浏览器中的兼容性。字重范围从300(细体)到600(半粗体),每种字重都有对应的斜体版本。
这段文本看起来是CSS代码,而不是自然语言的散文。它定义了网页的字体样式和布局规则。由于它是技术代码,将其改写为“流畅、自然的英语”并不适用——它已经是一种精确、标准化的格式。不过,我可以提供一份通俗易懂的英文摘要,说明它的作用:
该代码为网站设置了自定义字体,包括“Guardian Headline”和“Guardian Titlepiece”字体的各种字重和样式,从特定文件格式加载。它还定义了内容列的响应式布局规则,根据屏幕尺寸调整边距和宽度。例如,在较宽的屏幕上,它会添加左边距,对于某些元素(如沉浸式或展示内容),它会调整其宽度和位置以适应视口。这些规则确保文本和嵌入元素在大多数设备上保持在可读宽度(约620像素)内,同时允许较大的元素在更大的屏幕上扩展。
.content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
z-index: -1;
left: -10px;
}
@media (min-width: 81.25em) {
.content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
left: -11px;
}
}
.content__main-column--interactive .element-atom {
margin-top: 0;
margin-bottom: 0;
padding-bottom: 12px;
padding-top: 12px;
}
.content__main-column--interactive p + .element-atom {
padding-top: 0;
padding-bottom: 0;
margin-top: 12px;
margin-bottom: 12px;
}
.content__main-column--interactive .element-inline {
max-width: 620px;
}
@media (min-width: 61.25em) {
figure[data-spacefinder-role=inline].element {
max-width: 620px;
}
}
[data-gu-name=media]:has(figure.loop) figure.loop figcaption:not(.hidden) {
z-index: 6;
}
[data-gu-name=media]:has(figure.loop) figure.loop button[data-link-name*=gu-video-loop] {
align-self: flex-end;
margin-bottom: 40px;
margin-right: 3px;
}
[data-gu-name=media]:has(figure.loop) figure.loop .controls-container div:has(button[data-testid=unmute-icon]),
[data-gu-name=media]:has(figure.loop) figure.loop .controls-container div:has(button[data-testid=mute-icon]) {
right: 0;
padding-left: 10px;
}
[data-gu-name=media]:has(figure.loop) #caption-button {
z-index: 100;
}
@media (min-width: 61.25em) {
[data-gu-name=media]:has(figure.loop) #caption-button {
bottom: 20px;
}
}
@media (min-width: 46.25em) {
[data-gu-name=media]:has(figure.cinemagraph) .cinemagraph > div {
max-height: unset;
}
}
[data-gu-name=body] gu-island[name=SelfHostedVideo] {
width: 100%;
max-width: 620px;
display: block;
margin-top: 12px;
margin-bottom: 12px;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop video {
width: 100%;
height: auto;
max-width: 620px;
margin: 0 auto;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
max-width: unset;
margin: 12px 0;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop video {
max-width: unset;
margin: 0;
}
@media (min-width: 71.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1140px;
margin-left: -180px;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure figcaption {
margin-left: 20px;
}
}
@media (min-width: 81.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1300px;
margin-left: -260px;
}
}
:root {
--dateline: #606060;
--headerBorder: #dcdcdc;
--captionText: #999;
--captionBackground: hsla(0, 0%, 7%, .72);
--feature: #c70000;
--new-pillar-colour: var(--primary-pillar, var(--feature));
}
:root:root {
--subheading-text: var(--secondary-pillar);
--pullquote-text: var(--secondary-pillar);
--pullquote-icon: var(--secondary-pillar);
--block-quote-text: var(--article-text);
}
:root:root blockquote {
--block-quote-fill: var(--secondary-pillar);
}
@media (prefers-color-scheme: dark) {
:root:root:not([data-color-scheme=light]) {
--subheading-text: var(--darkmode-pillar);
--pullquote-text: var(--darkmode-pillar);
--pullquote-icon: var(--darkmode-pillar);
}
:root:root:not([data-color-scheme=light]) blockquote {
--block-quote-fill: var(--darkmode-pillar);
}
}
.content__main-column--interactive .element.element-atom,
.element.element-atom {
padding: 0;
}
.content__main-column--interactive .element-atom:first-of-type + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .element-atom + p:first-of-type,
.content__main-column--interactive hr:not(.last-horizontal-rule) + p,
.content__main-column--interactive hr:not(.last-horizontal-rule) + .ad-slot-container + p,
#article-body > div .element-atom:first-of-type + p:first-of-type,
#article-body > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + .element-atom + p:first-of-type,
#article-body > div hr { ... }第一段在水平线或元素原子之后应该在顶部有额外的空间。这适用于跟随这些元素中任何一个的第一段,无论它是直接位于元素之后还是位于广告位容器之后。同样的规则适用于页面的不同部分,如文章正文、交互式内容、评论和专题部分。
此外,该第一段的第一个字母应该以特殊方式样式化。这种样式应用于水平线或元素原子之后的第一段的第一个字母,无论它是直接位于元素之后还是位于广告位容器之后。这适用于上述所有相同的部分。
[data-gu-name=body] .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+p:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter,
#feature-body .element-atom:first-of-type+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+#sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
#feature-body hr:not(.last-horizontal-rule)+p:first-letter,
#feature-body hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter {
font-family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif;
font-weight: 700;
font-size: 111px;
line-height: 92px;
float: left;
text-transform: uppercase;
box-sizing: border-box;
margin-right: 8px;
vertical-align: text-top;
color: var(--drop-cap, var(--new-pillar-colour));
}
.content__main-column--interactive hr+p,
.content__main-column--interactive hr+.ad-slot-container+p,
#article-body>div hr+p,
#article-body>div hr+.ad-slot-container+p,
.content--interactive>div hr+p,
.content--interactive>div hr+.ad-slot-container+p,
#comment-body hr+p,
#comment-body hr+.ad-slot-container+p,
[data-gu-name=body] hr+p,
[data-gu-name=body] hr+.ad-slot-container+p,
#feature-body hr+p,
#feature-body hr+.ad-slot-container+p {
padding-top: 0;
}
.content__main-column--interactive [data-gu-name=pullquote],
#article-body>div [data-gu-name=pullquote],
.content--interactive>div [data-gu-name=pullquote],
#comment-body [data-gu-name=pullquote],
[data-gu-name=body] [data-gu-name=pullquote],
#feature-body [data-gu-name=pullquote] {
max-width: 620px;
}
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: static !important;
width: 100%;
max-width: 620px;
}
@media (min-width: 71.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: absolute !important;
max-width: 140px;
}
}
@media (min-width: 81.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
max-width: 220px;
}
}
.element.element--immersive.element-immersive {
width: calc(100vw - var(--scrollbar-width, 0px));
}
@media (max-width: 71.24em) {
.element.element--immersive.element-immersive {
max-width: 978px;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 10px;
}
}
@media (max-width: 71.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}
@media (min-width: 46.25em) and (max-width: 61.24em) {
.element.element--immersive.element-immersive {
max-width: 738px;
}
}
@media (max-width: 46.24em) {
.element.element--immersive.element-immersive {
margin-left: -10px !important;
margin-right: 0 !important;
left: 0;
}
}
@media (max-width: 46.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive {
margin-left: -20px !important;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}
@media (min-width: 71.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-name=body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -160px !important;
}
}
@media (min-width: 81.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-n[body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -240px !important;
}
.furniture-wrapper {
position: relative;
}
@media (min-width: 61.25em) {
.furniture-wrapper {
display: grid;
grid-column-gap: 20px;
grid-row-gap: 0px;
grid-template-columns: [title-start headline-start meta-start standfirst-start] repeat(5, 1fr) [title-end headline-end meta-end standfirst-end portrait-start] repeat(5, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start] .75fr [standfirst-end meta-start] auto [meta-end portrait-end];
}
.furniture-wrapper #headline > div:first-child,
.furniture-wrapper [data-gu-name="headline"] > div:first-child,
.furniture-wrapper .headline > div:first-child {
border-top: 1px solid var(--headerBorder);
}
.furniture-wrapper #meta,
.furniture-wrapper [data-gu-name="meta"] {
position: relative;
padding-top: 2px;
margin-right: 0;
}
.furniture-wrapper .standfirst .content__standfirst,
.furniture-wrapper #standfirst .content__standfirst,
.furniture-wrapper [data-gu-name="standfirst"] .content__standfirst {
margin-bottom: 4px;
}
.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
font-size: 20px;
}
.furniture-wrapper .standfirst li a,
.furniture-wrapper .standfirst a,
.furniture-wrapper #standfirst li a,
.furniture-wrapper #standfirst a,
.furniture-wrapper [data-gu-name="standfirst"] li a,
.furniture-wrapper [data-gu-name="standfirst"] a {
border-bottom: none;
background-image: none !important;
text-decoration: underline;
text-underline-offset: 6px;
text-decoration-color: var(--headerBorder, #dcdcdc);
text-decoration-thickness: 1px;
}
.furniture-wrapper .standfirst li a:hover,
.furniture-wrapper .standfirst a:hover,
.furniture-wrapper #standfirst li a:hover,
.furniture-wrapper #standfirst a:hover,
.furniture-wrapper [data-gu-name="standfirst"] li a:hover,
.furniture-wrapper [data-gu-name="standfirst"] a:hover {
text-decoration-color: var(--new-pillar-colour);
}
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: 1px solid var(--headerBorder);
padding-bottom: 0;
}
}
@media (min-width: 61.25em) and (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}
@media (min-width: 61.25em) {
.furniture-wrapper figure {
margin: 0 0 0 -10px;
}
.furniture-wrapper figure[data-spacefinder-role="inline"].element {
max-width: 630px;
}
}
@media (min-width: 71.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(2, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(7, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] 80px [title-end headline-start] auto [headline-end standfirst-start meta-start] auto [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
content: "";
width: 540px;
position: absolute;
top: 0;
background-color: var(--headerBorder);
height: 1px;
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
border-top: unset;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
content: "";
width: 1px;
background-color: var(--headerBorder);
height: 100%;
position: absolute;
top: 0;
left: .5px;
}
}
@media (min-width: 81.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(3, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(8, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start meta-start] .75fr [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
width: 620px;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
/ No additional styles specified /
}
}
这里是改写后的流畅、自然英语文本:
家具包装样式调整了文章标题、导语和媒体元素的布局和外观。导语部分有一个小的左侧偏移和内边距,左侧有微妙的边框。在较大的屏幕上,它会获得一点额外的顶部内边距。
标题是粗体的,最大宽度为620像素,字体大小为32像素。在非常宽的屏幕上,宽度缩小到540像素,字体大小增加到50像素。
装饰线(keyline-4)在中等和大屏幕上被隐藏,但当可见时,它们使用CSS变量定义的描边颜色。
元数据部分(包括社交分享和评论)在中等屏幕上没有右边距。其边框与标题边框颜色匹配。元数据部分中的一些交互元素被隐藏。
主要媒体区域相对于其容器定位,没有顶部边距,底部边距很小。在移动设备上,它扩展到全视口宽度,并带有负左边距以正确对齐。在较大的屏幕上,底部边距被移除。
图片说明覆盖在媒体底部,具有半透明背景和文本颜色。它们有最小高度,并包含一个小图标。第一个图标被隐藏,而第二个显示为最大宽度。一个说明按钮出现在角落,作为圆形按钮,允许用户切换说明的可见性。
在深色模式下,某些文本和链接颜色会调整以获得更好的对比度,使用特定的CSS变量。
最后,在非常宽的屏幕上,主内容列的顶部和底部边框略有延伸。此列中的标题限制为最大宽度620像素。
很抱歉,我无法帮助改写这段文本,因为它似乎是CSS代码,而不是自然语言的散文。您能否提供您希望我改写成流畅、自然英语的文本?
irst li a:hover, .furniture-wrapper [data-gu-name="standfirst"] a:hover, .furniture-wrapper [data-gu-name="standfirst"] li a:hover {
border-bottom: none;
text-decoration-color: var(--new-pillar-colour, --darkModeFeature);
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
color: #dcdcdc;
}
@media (min-width: 61.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: 1px solid var(--headerBorderColor);
}
}
@media (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}
.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
color: #dcdcdc;
}
@media (min-width: 71.25em) {
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
background-color: var(--headerBorderColor);
}
}
@media (min-width: 46.25em) {
.furniture-wrapper:before {
content: "";
height: 100%;
top: 0;
position: absolute;
background-color: var(--darkBackground);
border-right: 1px solid var(--headerBorderColor);
left: calc((100vw - var(--scrollbar-width, 0px) - 738px) / -2);
width: calc((100vw - var(--scrollbar-width, 0px) - 738px) / 2);
}
.furniture-wrapper:after {
content: "";
height: 100%;
top: 0;
position: absolute;
background-color: var(--darkBackground);
border-left: 1px solid var(--headerBorderColor);
right: calc((100vw - var(--scrollbar-width, 0px) - 738px) / -2);
width: calc((100vw - var(--scrollbar-width, 0px) - 738px) / 2);
}
}
@media (min-width: 61.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
}
@media (min-width: 71.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
}
@media (min-width: 81.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
}
.furniture-wrapper .keyline-4 svg,
.furniture-wrapper [data-gu-name="lines"] svg {
stroke: var(--headerBorderColor);
}
.furniture-wrapper #meta .meta__social,
.furniture-wrapper #meta .meta__social ul li a span,
.furniture-wrapper #meta .meta__comment,
.furniture-wrapper [data-gu-name="meta"] .meta__social,
.furniture-wrapper [data-gu-name="meta"] .meta__social ul li a span,
.furniture-wrapper [data-gu-name="meta"] .meta__comment {
border-color: var(--headerBorderColor);
}
.article .article__body h2,
article.content--interactive [data-gu-name="body"] h2 {
font-weight: 200;
}
.article .article__body h2:has(strong),
article.content--interactive [data-gu-name="body"] h2:has(strong) {
font-weight: 700;
}
div[data-print-layout="hide"] ul {
background-image: none;
}
:root[data-rendering-target="apps"] {
--follow-text: #dcdcdc;
--follow-icon-fill: var(--new-pillar-colour);
--standfirst-text: #dcdcdc;
--standfirst-link-text: var(--new-pillar-colour);
--standfirst-link-border: var(--new-pillar-colour);
--byline: var(--new-pillar-colour);
--article-meta-lines: var(--headerBorderColor);
--byline: var(--darkmode-pillar);
}
:root[data-rendering-target="apps"] .byline > span {
color: var(--new-pillar-colour);
}
:root[data-rendering-target="apps"] .byline > span > div:has(+[name="FollowWapper"]) {
background-image: var(--headerBorderColor), var(--headerBorderColor) 1px, transparent 1px;
}
@media (prefers-color-scheme
我在初秋时节前往奥斯陆,感觉就像踏入了未来——或者至少瞥见了一个可能的未来。我驾驶着安静的电动租车向北行驶。2024年,挪威成为世界上第一个电动汽车数量超过汽油车的国家。
一条平整、 pristine 的高速公路在农田和覆盖着茂密绿色森林的低矮丘陵之间延伸。长长的隧道将道路引向挪威最大湖泊米约萨湖的湖岸上方。一个多小时后,道路向下弯曲,与湖岸平行。
透过一排金色桦树的间隙,一座高大纤细的结构打破了地平线。它从水边升起,顶部是一个由裸露的互锁梁构成的三角形冠。在沉重的灰色天空和周围的薄雾中,它淡烧橙色的外观散发出一种温和的温暖。这是整个景观中唯一的高层建筑,被称为 Mjøstårnet,即“米约萨之塔”:一座18层、277英尺(84米)高的木制摩天大楼——世界上最高的全木结构建筑。
Mjøstårnet 坐落在 Brumunddal 小镇旁的一片湖岸上。它包含办公室、公寓和一家拥有72间客房的酒店。我住在11楼,乘坐的电梯井完全由木材制成(尽管电梯轿厢本身是钢和玻璃的)。
我转角房间的两侧有大型落地窗——一扇向西俯瞰湖泊,另一扇向北沿着湖岸。地板是木制的,桌子和灯具也是。有一张木床和两把由薄薄的弯曲松木板条制成的低矮旋转椅。
最引人注目的特征是巨大的木柱,它构成了我房间的角落,并且在我上方和下方延伸,成为整个塔楼四个边缘点之一。它看起来令人安心地坚固,就像一棵巨大树木的树干,剥去树皮,塑造成一个光滑、有机的钢或混凝土支柱版本。这几乎正是它的本质——只是它不仅仅是一棵树,而是许多棵树:一系列精密切割的木块,用极强的胶水压合在一起,形成了所谓的工程木或胶合木(“胶合层压木材”的简称)。
我房间里的这块是建筑中同类中最大的,横截面约为2英尺×5英尺(0.6米×1.5米)。虽然涂有淡蜡层压板,但你仍然可以看到其复合木片上独特的节疤和纹理。
透过窗户,薄雾在远处湖岸的森林斜坡上波浪般滑动。阵风吹着细雨打在玻璃上。室内,没有声音。景色从白色变为灰色,再到夜色渐浓的蓝色。最终,我意识到自己实现了一个童年的幻想——一个天空中的巨大树屋——安然入睡。
Mjøstårnet 始于一张餐巾纸上的草图。两个用蓝色圆珠笔画的矩形盒子:一个平放,另一个竖立在它上面。最终的结构与最初的草稿相差不远——只是第二个矩形不断向上延伸。“高度在这里非常重要,”绘制草图的开发商 Arthur Buchardt 告诉我。“它必须是一个信号。展示什么是可能的。我认为现在它已经唤醒了许多人。”
我在抵达后的第二天见到了 Buchardt,在塔楼的18楼,他在那里保留着自己的顶层公寓。他现在快80岁了,有着邦德反派的外表——高大、宽阔、精力充沛、完全秃顶——以及一位深受爱戴的叔祖父的风度,容易大笑,充满明亮、年轻的活力。我们坐在他客厅的桌子旁——自然是木制的——喝着黑咖啡,透过构成顶层公寓整个西侧的落地窗向外凝视。
Buchardt 告诉我,所有的木材,他指着公寓和整个建筑,都来自附近的景观。房间中央矗立着一根灰色大理石制成的 L 形柱子,上面有一个燃气壁炉。他说,那块石头是从周围的山丘开采的。甚至墙上的艺术品也是本地的。“所以这是一个政治声明,”他说。“使用所有这些本地材料。”
Buchardt 小时候搬到 Brumunddal,并在那里度过了大部分青少年时光。在获得商业学位——在奥斯陆和爱丁堡大学学习——后,他回来接管了岳父的水管公司。几年后,他卖掉了公司,用这笔钱进入房地产开发。然后,当1994年冬季奥运会在利勒哈默尔举行,该镇需要为运动员和游客提供新住房时,他建造了他的第一家酒店。此后他又建造了23家,遍布斯堪的纳维亚半岛。而且,他越来越多地用木材建造它们。
“大约10年前,我自己也需要醒一醒。关于环境的重要性,关于我们对它做了什么,”他告诉我。2015年12月巴黎气候协议的宣布——其全球承诺减少排放并走向净零——促使 Buchardt 采取行动。“政客们谈论‘伟大的绿色变革’的必要性。我想,我该如何回应这些政治信号?”他真正知道如何做的只是建造建筑。但如果他换一种方式建造呢?
“就在那时,2015年,我把一些图纸画在这张餐巾纸上。我把它带给了一位建筑师”——特隆赫姆的 Voll Arkitekter 公司——“问他们,‘木制高层建筑能建多大?’因为你不能完全不用钢或混凝土来建造大型现代结构。但你可以减少使用量。你可以大大减少。”
全屏查看图片
从 Mjøstårnet 顶部看到的景色。摄影:360Cities.net/Alamy
这就是混凝土的问题。不仅世界正在耗尽制造它所需的沙子——并且不得不考虑极端的替代方案来满足需求,从粉碎整座山峰到疏浚格陵兰岛充满淤泥的峡湾——而且其日益增长的使用也创造了螺旋上升的反馈循环。建筑环境占全球排放量的37%,既来自施工过程本身,也来自供暖、照明和维护建筑所需的能源。其中7%到8%的总排放量仅来自混凝土制造。自1960年以来,建筑中的混凝土使用量增长了十倍。这种混凝土中只有不到1%是由回收材料制成的。相反,我们只是不断生产越来越多的混凝土,需要越来越多的沙子——预计到2060年全球将增加50%。
实际上,我们几乎所有的现代城镇和城市都是用通过大量使用化石能源提取、冶炼、过热或合成的材料建造的。城市,字面上,是提取和排放的纪念碑——采矿、燃烧、熔化、烧结和塑造地球矿物含量的集中表达。如果你想设计一个更高效的二氧化碳排放机器,你很难做到。
但如果你想象用木材取代我们家庭、工作场所和办公室——甚至高层建筑——的上部结构呢?树木从大气中吸收二氧化碳并将其储存在体内。砍伐它们,它们保留二氧化碳而不是释放它。用它们建造,它们仍然持有碳。当你用钢和混凝土建造一座典型的中层建筑时,其施工
一座建筑产生约1500至2000公吨的二氧化碳排放。同一座建筑,如果由木材制成,可以封存600至1000公吨的二氧化碳。这还不包括种植和再生长采伐树木的额外吸收。仅一座建筑,差异就惊人。那么整个城市呢?你将密集的人口中心——一些最大的温室气体来源——变成巨大的碳汇。你翻转了等式,使建筑成为解决方案的一部分而不是问题。你从依赖消耗有限资源的矿物建筑经济,转向以森林为基础、可无限再生的经济。木材成为沙、钢和水泥的城市解毒剂。从混凝土丛林到木材城市。
至少,这是愿景。现实当然不那么简单。例如,目前,用工程木建造是昂贵的。Mjøstårnet 花费了约1亿英镑。同一座塔,完全用钢和混凝土建造,会便宜1000万到1500万英镑。
然而,这在很大程度上取决于视角。关于全球混凝土生产连锁效应的研究估计,它对健康和环境的损害具有可衡量的财务价值——这个价值几乎等于,或者根据某些估计甚至大于,整个混凝土行业本身的价值。一个转变的、以气候为重点的经济学可以迅速改变什么算作成本效益。对环境影响的透明度也是如此。“十年前,我不会检查汽车的碳足迹,”Buchardt 告诉我。“没有人那么感兴趣。现在你首先看的是二氧化碳。我认为建筑也会这样。”
正如他所说,“我们会看每座建筑的证书,你会看到它的二氧化碳排放、能源使用、它由什么制成。你会看一家特定的酒店,说,你知道,有钢、有玻璃、它使用这么多电力,它就像一座排放灯塔,所以你不会住在那里。与此同时,那些低碳建筑的人会进入市场并告诉你。也许它开始是一种营销工具,但然后它成为一种标准。”
Brumunddal 和周围的 Ringsaker 地区一直是伐木之乡。那天早上早些时候,在见到 Buchardt 之前,我参观了 Moelven 的锯木厂和工厂,这是一家当地公司,已成长为斯堪的纳维亚半岛最大的木材加工商之一,并为 Mjøstårnet 提供了材料。
其建筑系统部门负责人 Rune Abrahamsen 向我展示了胶合木生产线。他带我穿过巨大的新锯