آسمانخراشِ تختهای: چگونه چوب میتواند شهرهای آینده را شکل دهد.

آسمانخراشِ تختهای: چگونه چوب میتواند شهرهای آینده را شکل دهد.
این یک بلوک کد 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 向我展示了胶合木生产线。他带我穿过巨大的新锯