レスポンシブデザイン「CSSRegistrationにはメディア名という名前のパブリックプロパティがありません」
-
10-12-2019 - |
質問
現在イントラネットサイトでレスポンシブデザインを実装しています。最小幅および最大幅のメディアプロパティに基づいて、マスターページにプレーンリンクを追加しました。それは魅力のように動作しますが、私がcssregistrationを使おうとしたときはそうではありませんでした。いくつかの不明な理由で、CSSRegistrationにはメディアプロパティがありません(私が知っていること)。プレーンHTML-Linksの代わりにCSSRegistrationを使用してこの問題を克服する方法はありますか?
<!-- Responsive CSS-files based on width -->
<link type="text/css" rel="stylesheet" media="only screen and (min-width: 801px)" href="/Style%20Library/css/ResponsiveMaster.css" />
<link type="text/css" rel="stylesheet" media="only screen and (min-width: 401px) and (max-width: 800px)" href="/Style%20Library/css/ResponsiveMasterPad.css" />
<link type="text/css" rel="stylesheet" media="only screen and (max-width: 400px)" href="/Style%20Library/css/ResponsiveMasterMobile.css" />
.
試してみると、よく知られている画面が得られます。
解決
As you say, there is no media attribute.
There are a couple of ways I can think of to handle this in SharePoint:
- Either use Device Channels to target different master pages to different devices
- Or, add all of your responsive CSS to one file, containing the @media wrappers. This will also be better since if you for example resize your browser window, you get the appropriate css as you go.
- A third way that comes to mind is using a combination of @media and @import tags in one CSS-file, loading in specific files with the @import into the @media attribute
所属していません sharepoint.stackexchange