내가 듣고처럼 / A 어딘가에 읽을 것 <div>
(A)의 내부가 <td>
노 더 없었다. 작동하지 않는 것이 아니라 디스플레이 유형에 따라 실제로 호환되지 않는 것입니다. 직감을 뒷받침 할 증거를 찾을 수 없으므로 완전히 잘못되었을 수 있습니다.
답변
div
instide a를 사용하는 것이 td
레이아웃에 테이블을 사용하는 다른 방법보다 나쁘지 않습니다. (어떤 사람들은 레이아웃에 테이블을 사용하지 않으며 그중 하나가됩니다.)
div
에서 a 를 사용 td
하면 요소의 크기를 어떻게 예측할 수없는 상황에 처하게됩니다. div의 기본값은 부모의 너비를 결정하는 것이고, 테이블 셀의 기본값은 내용의 크기에 따라 크기를 결정하는 것입니다.
div
크기 조정 방법에 대한 규칙 은 표준에 잘 정의되어 있지만 크기 조정 방법에 대한 규칙 은 잘 정의되어 td
있지 않으므로 브라우저마다 약간 다른 알고리즘을 사용합니다.
답변
XHTML DTD를 확인한 후 <TD>-요소에 표제, 목록 및 <DIV>-요소와 같은 블록 요소를 포함 할 수 있음을 발견했습니다. 따라서 <TD>-요소 안에 <DIV>-요소를 사용한다고해서 XHTML 표준을 위반하지는 않습니다. 현대의 다른 HTML 변형에는 <TD> 요소에 해당하는 콘텐츠 모델이 있다고 확신합니다.
관련 DTD 규칙은 다음과 같습니다.
<!ELEMENT td %Flow;>
<!-- %Flow; mixes block and inline and is used for list items etc. -->
<!ENTITY %Flow "(#PCDATA | %block; | form | %inline; | %misc;>
<!ENTITY %block "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
답변
반드시 그런 것은 아닙니다.
TD 내에 DIV를 배치해야하는 경우 TD를 올바르게 사용하고 있는지 확인하십시오. 테이블 형식 데이터 및 의미에 대해 신경 쓰지 않으면 궁극적으로 TD의 DIV에 대해서는 신경 쓰지 않습니다. 당신이 경우에 – 나는 문제 생각이 없다고 생각 이 당신이 그것을 할 수있는 좋은 방법입니다 벌금을.
HTML 사양에 따르면
A는 <div>
어디에 위치 할 수 유량 콘텐츠 예상 1 은 IS하는 <td>
컨텐츠 모델 2 .
답변
테이블 셀은 블록 레벨 요소를 합법적으로 포함 할 수 있으므로 본질적으로 가짜 파가 아닙니다. 물론 브라우저 함침은 추측적인 이론적 입장을 남겨둔다. 레이아웃 문제와 버그가 발생할 수 있습니다.
테이블이 레이아웃에 사용되었지만 때로는 여전히 그래도 대부분의 브라우저가 내용을 올바르게 렌더링한다고 생각합니다. 심지어 IE.
답변
position을 사용하려면 : absolute; position: relative;
td 와 함께 div에서 문제가 발생합니다. FF, safari 및 chrome (mac, PC는 아니지만)은 div를 td에 상대적으로 배치하지 않습니다 (예상 한 것처럼) .div에도 마찬가지 display: table-whatever;
이므로 두 가지 div가 필요합니다. 컨테이너에 width: 100%;
height: 100%;
테두리가 없으므로 시각적 영향없이 td를 채 웁니다. 그리고 절대적인 것.
그 외에는 왜 세포를 나누지 않습니까?
답변
<div>
내부 를 배치하여 문제에 직면했습니다 <td>
.
document.getElementById()
td 안에 배치 하면 div를 식별 할 수 없었습니다 . 그러나 외부에서는 잘 작동했습니다.
답변
모두가 언급했듯이 레이아웃 목적으로는 좋지 않을 수 있습니다. 나는 똑같이 궁금 해서이 질문에 도달했으며 그것이 유효한 코드인지 알고 싶었습니다.
유효하기 때문에 다른 용도로 사용할 수 있습니다. 예를 들어, 내가 사용할 것은 멋진 “CSSed”div를 테이블 행 안에 넣은 다음 빠른 jQuery 함수를 사용하여 사용자가 가격, 이름 등으로 정보를 정렬 할 수 있도록하는 것입니다. 레이아웃 테이블 만 나에게 “수직 순서”를 줄 것이지만 CSS로 div의 너비, 높이, 배경 등을 제어합니다.