Mvc: λ§Œλ“€κΈ°<link/> λŒ€μ²΄ μ†ŒμŠ€λ₯Ό μ§€μ›ν•˜λŠ” νƒœκ·Έ λ„μš°λ―Έ

에 λ§Œλ“  2014λ…„ 11μ›” 18일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: aspnet/Mvc

이것은 #1576에 ν•΄λ‹Ήν•˜λŠ” CSS μŠ€νƒ€μΌμ‹œνŠΈμž…λ‹ˆλ‹€.

기본이 λ‘œλ“œλ˜μ§€ μ•ŠλŠ” 경우 λŒ€μ²΄ μŠ€νƒ€μΌμ‹œνŠΈλ₯Ό λ‘œλ“œν•  수 μžˆλ„λ‘ ν•˜λŠ” LinkTagHelper μž…λ‹ˆλ‹€. μ‹€νŒ¨λŠ” μ§€μ •λœ 클래슀 이름( asp-fallback-test-class 속성)이 μžˆλŠ” 더미 <meta> νƒœκ·Έλ₯Ό μ‚½μž…ν•œ λ‹€μŒ ν•΄λ‹Ή μš”μ†Œμ˜ κ³„μ‚°λœ μŠ€νƒ€μΌμ„ ν…ŒμŠ€νŠΈν•˜μ—¬ μ§€μ •λœ CSS 속성( asp-fallback-test-property 속성)이 μ§€μ •λœ κ°’( asp-fallback-test-value )κ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μš©λ²•

<link href=""
      asp-fallback-href=""
      asp-fallback-test-class=""
      asp-fallback-test-property=""
      asp-fallback-test-value="" />

νƒœκ·Έ λ„μš°λ―Έκ°€ μž‘λ™ν•˜λ €λ©΄ λͺ¨λ“  속성이 μžˆμ–΄μ•Ό ν•˜λ©° null이 μ•„λ‹ˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. λˆ„λ½λœ ν•­λͺ©μ΄ 있으면 κ²½κ³  및 μž‘μ—… μ—†μŒμ„ κΈ°λ‘ν•©λ‹ˆλ‹€.

인수

| 속성 이름 | μœ ν˜• | 세뢀사항 |
| --- | --- | --- |
| asp-fallback-href | string | κΈ°λ³Έ URL이 μ‹€νŒ¨ν•  경우 λŒ€μ²΄ν•  URL( href 속성에 지정됨) |
| ASP 폴백 ν…ŒμŠ€νŠΈ 클래슀 | string | 폴백 ν…ŒμŠ€νŠΈμ— μ‚¬μš©ν•  μŠ€νƒ€μΌμ‹œνŠΈμ— μ •μ˜λœ 클래슀 이름 |
| ASP 폴백 ν…ŒμŠ€νŠΈ 속성 | string | λŒ€μ²΄ ν…ŒμŠ€νŠΈμ— μ‚¬μš©ν•  CSS 속성 이름 |
| ASP 폴백 ν…ŒμŠ€νŠΈ κ°’ | string | λŒ€μ²΄ ν…ŒμŠ€νŠΈμ— μ‚¬μš©ν•  CSS 속성 κ°’ |

μ˜ˆμ‹œ

μ†ŒμŠ€ CSHTML

 <link href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet"
       asp-fallback-href="~/lib/bootstrap/css/bootstrap.min.css"
       asp-fallback-test-class="hidden" asp-fallback-test-property="visibility" asp-fallback-test-value="hidden" />

좜λ ₯ HTML

<link href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" />
<meta name="x-stylesheet-fallback-test" class="hidden" />
<script>
    (function (a, b, c) {
        var d = document,
            s = d.getElementsByTagName("SCRIPT"),
            meta = s[s.length-1].previousSibling;
        (d.defaultView.getComputedStyle(meta)[a] === b ||
            d.write('\u003clink rel="stylesheet" href="' + c + '" /\u003e'));
    })("visibility", "hidden", "/lib/bootstrap/css/bootstrap.min.css");
</script>
3 - Done enhancement feature-Tag-Helpers

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

였래된/λ‹«νžŒ λ¬Έμ œμ— λŒ€ν•΄ 논평을 ν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€. 단일 ν΄λž˜μŠ€κ°€ μ—†λŠ” .css νŒŒμΌμ„ ν…ŒμŠ€νŠΈν•˜λŠ” μ˜΅μ…˜μ— λŒ€ν•΄ λ…Όμ˜ν•œ 적이 μžˆμŠ΅λ‹ˆκΉŒ?

두 가지 예:

  • dataTables.bootstrap.css μ—λŠ” table.dataTable { ... } 처럼 ν•¨κ»˜ μ—°κ²°λœ μ΅œμ†Œν•œ 두 개의 선택기가 μžˆμ§€λ§Œ λ…λ¦½ν˜• .dataTable ν΄λž˜μŠ€λŠ” μ—†μŠ΅λ‹ˆλ‹€.

  • skin-red.css 와 μœ μ‚¬ν•˜κ²Œ .skin-red .main-header .navbar { ... } 와 같은 μžμ† μ„ νƒμžλ§Œ 있고 λ…λ¦½ν˜• .skin-red ν΄λž˜μŠ€λŠ” μ—†μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

였래된/λ‹«νžŒ λ¬Έμ œμ— λŒ€ν•΄ 논평을 ν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€. 단일 ν΄λž˜μŠ€κ°€ μ—†λŠ” .css νŒŒμΌμ„ ν…ŒμŠ€νŠΈν•˜λŠ” μ˜΅μ…˜μ— λŒ€ν•΄ λ…Όμ˜ν•œ 적이 μžˆμŠ΅λ‹ˆκΉŒ?

두 가지 예:

  • dataTables.bootstrap.css μ—λŠ” table.dataTable { ... } 처럼 ν•¨κ»˜ μ—°κ²°λœ μ΅œμ†Œν•œ 두 개의 선택기가 μžˆμ§€λ§Œ λ…λ¦½ν˜• .dataTable ν΄λž˜μŠ€λŠ” μ—†μŠ΅λ‹ˆλ‹€.

  • skin-red.css 와 μœ μ‚¬ν•˜κ²Œ .skin-red .main-header .navbar { ... } 와 같은 μžμ† μ„ νƒμžλ§Œ 있고 λ…λ¦½ν˜• .skin-red ν΄λž˜μŠ€λŠ” μ—†μŠ΅λ‹ˆλ‹€.

@kylef000 ν₯λ―Έ <meta /> μš”μ†Œλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμ²˜λŸΌ 일반적인 λ°©λ²•μœΌλ‘œ ν…ŒμŠ€νŠΈν•˜λŠ” 방법도 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

@DamianEdwards μ•„, .skin-red-fallback-test { ... } )λ₯Ό λΆ„κΈ°ν•˜μ—¬ μΆ”κ°€ν•œ λ‹€μŒ μ‚¬μš© 쀑인 νŠΉμ • λΌμ΄λΈŒλŸ¬λ¦¬μ— λŒ€ν•œ PR을 λ§Œλ“œλŠ” κ²ƒμž…λ‹ˆλ‹€.

응닡해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. C#에 λŒ€ν•œ λͺ¨λ“  μž‘μ—…μ— μ§„μ‹¬μœΌλ‘œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰